如果返回某个值,我试图获取一个ajax请求来勾选一个框。
基本上我有以下代码:
for(var id in data) {
$(id).val( data[id] );
if($(newsletter).val( data[newsletter])) {
$('#newsletter').prop('checked', true);
}
}
现在我已经尝试了以下代码而没有骰子。
for(var id in data) {
$(id).val( data[id] );
if($(newsletter).val( data[newsletter] == 1)) {
$('#newsletter').prop('checked', true);
}
}
这将勾选任何返回的结果的复选框,但如果值为1,我希望它然后选中该框,如果返回另一个值,我希望它不被勾选。
如果我做错了,请告诉我,因为我不熟悉jQuery和stackoverflow。
答案 0 :(得分:0)
也许这可行:if($(newsletter).val() == 1...
或:if(data[newsletter] == 1)...
似乎你有一个缺失的任务:
也许你的意思是var newsletter = $(id).val( data[id] );
我无法理解。请解释一下,如何宣布新闻通讯。
答案 1 :(得分:0)
我将假设data
是通过AJAX返回的对象,data[newsletter]
是访问该对象的某些属性的有效方法,您要检查该对象的值。
如果是这样,那么以下内容应该有效:
if (data[newsletter] === 1) {
$('#newsletter').prop('checked', true);
}
此外,代码if($(newsletter).val( data[newsletter] == 1)) {
设置检查任何值的原因是因为您使用if
实际测试的是{{>>返回值来自{ {3}}调用,这是一个jQuery对象,总是会被评估为true,即使没有与选择器匹配的元素。
Protip:如果要检查jQuery选择器是否与任何元素匹配,请改为测试.length
属性。
e.g。
if ($('.my_selector:eq(0)').length) {
alert('Found one!');
}