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


Jquery split variable back from PHP json (checkbox:checked)

在此代码中,jquery从php获取数据,我想让jquery分解存储多个自动的变量之一,最后选中特定的复选框

json_reponse_from_PHP:"自动 1;自动3;自动4"。

$(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" />

你能帮我找到吗

如果要选中不使用的复选框val()则使用prop('checked', true)

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

此外,您从服务器发送的内容无论如何都与名称不匹配。

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

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