2017-03-12 25 views
1

私はJSON配列から選択したチェックボックスを取得しようとしていますが、値が "1"のチェックボックスのみを返します。私は何が欠けていますか?JSONからチェックボックスを選択

はここ

<div id="checkboxes"> 
     <input type="checkbox" name="qcol2" value="1" > Sarah 
     <br /> 
     <input type="checkbox" name="qcol2" value="9" > Sundae 
     <br /> 
     <input type="checkbox" name="qcol2" value="10" > Summer 
     <br /> 
     <input type="checkbox" name="qcol2" value="11" > GeeZee 
     <br /> 
     <input type="checkbox" name="qcol2" value="12" > Husband 
     <br /> 
    </div> 

$(document).ready(function() { 
var initValues = [{my_id: "10"}, {my_id: "11"}, {my_id: "12" }]; 
var myjson = JSON.stringify(initValues); 
//alert(myjson); 

$('#checkboxes').find(':checkbox[name^="qcol2"]').each(function() { 
    $(this).prop("checked", ($.inArray($(this).val(), myjson) != -1)); 
    //alert(myjson); 
    }); 
}); 

答えて

0

JSON.stringifyはないあなたが​​を使用することができる配列に、長い文字列にinitValuesマップを変換し、私のバイオリンhttp://jsfiddle.net/geegirls3/acx1yLex/です。

JSON文字列からチェックボックスを選択する場合は、最初に解析し、id値を持つ配列を準備してから、inArrayを使用してチェックボックスを選択する必要があります。

var myjson = JSON.stringify(initValues); 
    var parsed = JSON.parse(myjson); 

    var myarray = []; 
    $.each(parsed,function(key, value) 
    { 
    myarray.push(value["my_id"]); 
    }); 

    $('#checkboxes').find(':checkbox[name^="qcol2"]').each(function() { 
     $(this).prop("checked", ($.inArray($(this).val(), myarray) != -1)); 
     //alert(myjson); 
    }); 
+0

それは働いたありがとう:このコードは

チェック。私はあなたの助けに基づいて私のコードを少し変更しました。 My fiddle https://jsfiddle.net/geegirls3/70jd4nv8/ – GeeGirls3

関連する問題