我正在尝试将值匹配的单选按钮设置为正在返回的对象的属性,并根据值检查按钮,但我的代码对我不起作用。
我有带单选按钮的HTML
<input type="radio" name="subject1" value="0" checked />
<input type="radio" name="subject1" value="1" />
<input type="radio" name="subject1" value="2" />
<input type="radio" name="subject2" value="0" checked />
<input type="radio" name="subject2" value="1" />
<input type="radio" name="subject2" value="2" />
<input type="radio" name="subject3" value="0" checked />
<input type="radio" name="subject3" value="1" />
<input type="radio" name="subject3" value="2" />
我正在返回一个对象:
obj = { CustomObjectKey: 2, subject1: "2", subject2: "0", subject3: "1", subject4: "0", ..... }
我正在尝试设置单选按钮并根据返回的数据进行检查。所有值在开头都设置为0,但需要根据属性和值进行更改。
我有我的Jquery脚本:
$.each(obj, function(key, value) {
$("input[name='+key+'][value='+value+']").prop('checked', true);
});
因此对于subject1,应检查值为“2”的单选按钮
但我的收音机按钮只是停留在“0”
答案 0 :(得分:0)
each
中的字符串连接错误。将double quotes(")
替换为single quotes(')
。
$.each(obj, function (key, value) {
$('input[name='+key+'][value='+value+']').prop('checked', true);
});
完整代码
var obj = { CustomObjectKey: 2, subject1: "2", subject2: "0", subject3: "1", subject4: "0" };
$.each(obj, function (key, value) {
$('input[name='+key+'][value='+value+']').prop('checked', true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="subject1" value="0" checked />
<input type="radio" name="subject1" value="1" />
<input type="radio" name="subject1" value="2" />
<input type="radio" name="subject2" value="0" checked />
<input type="radio" name="subject2" value="1" />
<input type="radio" name="subject2" value="2" />
<input type="radio" name="subject3" value="0" checked />
<input type="radio" name="subject3" value="1" />
<input type="radio" name="subject3" value="2" />
&#13;
答案 1 :(得分:0)
只需将您的单引号(')更改为双引号(“),如下所示:
$("input[name="+key+"][value="+value+"]").prop('checked', true);
答案 2 :(得分:0)
经过数小时的研究和测试后,我发现我的解决方案包括将JQuery库更新为2.2.0.min.js,因为@Nadimul De Cj建议并修改代码:
$.each(user_pref, function(key, value){
$("input:radio[name="+key+"][value="+value+"]").prop("checked", true);
});
使代码有效。