私がやろうとしているのは、JSONオブジェクトに基づいて入力フィールドにデータを入力することです。以下は、デフォルト値のフィールドです。
<input type="hidden" name="id"/>
<input id="enabled1" name="enabled" type="checkbox" value="true"> // not sure why value="true" here, by default it should be false
JSONオブジェクトの形式は次のとおりです。
[{enabled:false, id:184}]
JSONオブジェクトに基づいて、そのプロパティを繰り返し、それに応じてフィールドに値を割り当てます。反復関数は次のとおりです。
for ( var propertyName in aData) {
if (aData.hasOwnProperty(propertyName)){
// check if field exist
var elem = $("input[name="+propertyName+"]");
var exist = elem.size() == 1;
// if exist, update field with selected info
if (exist){
elem.val(aData[propertyName]);
}
}
}
反復関数が実行された後、フィールドは次のように表示されます。
<input type="hidden" name="id" value="184">
<input id="enabled1" name="enabled" type="checkbox" value="false">
ここで、チェックボックスにチェックマークを付けて情報をサーバーに送信すると、値をtrueにしたいのですが、どういうわけか値はまだfalseです。ここで何を逃したのですか?