Jquery从PHP json中拆分变量(复选框:选中)

时间:2015-01-23 16:14:40

标签: php jquery html checkbox

在这段代码中,jquery从php获取数据,我想让jquery爆炸存储多个auto的变量之一,最后检查特定的复选框

json_reponse_from_PHP:“auto1; auto3; auto4”。

$(document).on("click", "#update", function(e) {
    e.preventDefault(); 
    var datas = 'pg/post.php';
    $.getJSON(datas, function(data) {
        $.each(data, function( key, value ) {
            $('input[name=' + key + '], select[name=' + key + '], textarea[name=' + key + ']').val(value);                  
        });
    });
}); 
<div>
    <input type="text" name="name" value="" />
    <input type="text" name="name" value="" />
</div>

参见示例:

<input type="checkbox" name="auto[]" checked="checked" value="auto1" />
<input type="checkbox" name="auto[]" value="auto2" />
<input type="checkbox" name="auto[]" checked="checked" value="auto3" />
<input type="checkbox" name="auto[]" checked="checked" value="auto4" />
<input type="checkbox" name="auto[]" value="auto5" />
<input type="checkbox" name="auto[]" value="auto6" />

你能帮我找一下

吗?

1 个答案:

答案 0 :(得分:0)

如果您想勾选复选框,请不要使用val(),而是使用prop('checked', true)

由于元素上的数组命名与特定名称不匹配,因此您需要使用返回的值来帮助定位复选框。

此外,您从服务器发送的内容与名称无关。

$.each(data.split(';'), function(_, val ) {
     $(':input[value=' + val +']').prop('checked',true);
});

没有意义不从服务器发送数组而不是json_encoding你的php中的分隔字符串