データベースから返された「色」ごとにhtmlチェックボックスを動的に追加しようとしています。データ型はJSONです。
私は最初にコントローラーにajaxリクエストを行います:
$.ajax({
url: "Home/Colours",
type: 'GET',
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (colours) {
$.each(colours.id, function (i, colours) {
$('#ColourCheck').append("<p><input type='checkbox' id='box" + colours.id + "'value='" + colours.id + "' class='checkbox'>Checkbox " + colours.id + "</p>");
})
}
返されるJSONは次のとおりです。
"[{\"Id\":1,\"Name\":\"Blue\"},{\"Id\":2,\"Name\":\"Red\"},{\"Id\":3,\"Name\":\"Yellow\"},{\"Id\":4,\"Name\":\"Green\"}]"
ブラウザの開発ツールで表示すると、次のようになります。
成功したら、以下のように「#ColourCheck」に新しいチェックボックスを追加したいと思います。
<div id="ColourCheck"></div>
success: function (colours) {
$.each(colours.id, function (i, colours) {
$('#ColourCheck').append("<p><input type='checkbox' id='box" + colours.id + "'value='" + colours.id + "' class='checkbox'>Checkbox " + colours.id + "</p>");
})
エラーが発生していませんが、開発ツールでデバッグするとエラーが発生し、「反復」は次のようになります。
エラーメッセージJSON配列のデータに誤ってアクセスしようとしていると思いますが、これをどの程度正確に行うべきかわからないため、最初に解析を試みました。
jsonObj = jQuery.parseJSON( colours);
これは何の違いもありませんでした、どんなアドバイスもいただければ幸いです。
ありがとう。
このコードはあなたの問題を解決しますか?
$.ajax({
url: "Home/Colours",
type: 'GET',
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (_colours) {
_colours.forEach(function(colour){
$('#ColourCheck').append("<p><input type='checkbox' id='box" + colour.id + "'value='" + colour.id + "' class='checkbox'>Checkbox " + colour.id + "</p>");
});
}
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加