2012-04-18 15 views
3

データベースからロードされたデータに基づいてラジオボタンのチェック状態を設定する方法のアイデアや例を得ることはできますか?jsonレスポンスに基づいてラジオボタンを選択

たとえば、私がどのように見えるSELECTクエリから配列を生成しています:今、私はに結果のデータ配列を置くjson_encodeを使用して

<input type="radio" name="1" value="yes"> 
<input type="radio" name="1" value="no"> 
<input type="radio" name="1" value="done"> 

<input type="radio" name="2" value="yes"> 
<input type="radio" name="2" value="no"> 
<input type="radio" name="2" value="done"> 

:チェックボックスのグループがどのように見える

array(
[0] => array( 
    ['note_id'] => 1 
    ['value'] => 'no' 
) 
[1] => array(
    ['note_id'] => 4 
    ['value'] => 'yes' 
) 
[2] => array( 
    ['note_id'] => 5 
    ['value'] => 'yes' 
) 
) 

を:

[{"note_id":"1","value":"no"},{"note_id":"4","value":"yes"},{"note_id":"5","value":"yes"}] 

これらの結果を渡していますアヤックスを通って戻る..何かのような? :

$j.ajax({ 
    url: readurl, 
    type: "GET", 
    data: 'sku=' + thisSku, 
    dataType: "json", 
    success: function (data){ 
     // ? now what 
    }  
}); 

私は現在、適切な選択肢を選択するためにjsonデータをどのように取ることができるか理解できますか? note_idが入力[name]属性と一致する場合、チェックを実行するループを作成するにはどうしたらいいですか? jsonはこれを処理する最良の方法ですか? .getJSON()を使用する必要がありますか?

+1

+1私たちに学習の意向を示してください。 –

答えて

6

DEMO

$.each (data, function (i, obj) { 
    $(':radio[name=' + obj.note_id + '][value=' + obj.value + ']').prop('checked', true); 
}); 
+0

これは素晴らしい作品です!ありがとうございました! – Zac

2
var data = {"nodes": [{"note_id":"1","value":"no"},{"note_id":"4","value":"yes"},{"note_id":"5","value":"yes"}] } 

$('input:radio').attr('checked','') 
$.each(data.nodes,function(a,b){ 
    $("input[name="+b.note_id+"][value="+b.value+"]:radio").attr('checked','checked') 

}) 

たぶんそのような何かがあなたのために働くだろう...

2

名の値でnote_idを比較し、

プロパティを追加し、JSONオブジェクト上の$ .each()ループを作成し、 [{"note_id":"1","value":"no"},{"note_id":"4","value":"yes"},{"note_id":"5","value":"yes"}]する必要がありますあなたは、単に dataを反復処理することができ、成功コールバック内
var notas = [{"note_id":"1","value":"no"},{"note_id":"4","value":"yes"},{"note_id":"5","value":"yes"}]; 


$.each(notas,function(i, v){ 
    $('input[type=radio][name=' + this.note_id + ']').prop('checked','true'); 

}); 
​ 

http://jsfiddle.net/chepe263/wLDHk/

0

このような何か試してください:あなたはあなたのコードでデアラートを交換するHACE

$j.ajax({ 
    url: readurl, 
    type: "GET", 
    data: 'sku=' + thisSku, 
    dataType: "json", 
    success: function (data){ 
     $.each(data, function(i, item) { 
      alert("note_id: " + item.note_id + ", value: " + item.value); 
     }); 
    }  
}); 

を。

Greatings。

関連する問題