我有一个Jquery脚本,应该根据值检查组中的特定单选按钮。问题是,每当我尝试特定的那个时,它会改变该组中的所有值,并检查错误的值。
这是我用来禁用的行:
$(".fbh-1").val("val2").attr("checked","checked");
这是html:
<input name="field30" value="val2" type="radio" id="rbt-1" class="rbt-1" />
我不太确定我在哪里出错了。关于我应采取的方法的任何建议?
答案 0 :(得分:3)
$(".fbh-1").val("val2")
这会选择所有 .fbh-1
元素并更改其值。这就是你告诉jQuery要做的事情。
我想你想要:
$(".fbh-1[value='val2']")
或
$(".fbh-1").filter(function(){
return $(this).val() === 'val2';
})
答案 1 :(得分:1)
.val("val2")
正在设置值。
这应该是:
编辑:更新下面的示例,根据操作要求过滤掉值为&#39; val2&#39;的输入。
$(".fbh-1").not("[value='val2']").attr("checked","checked");
答案 2 :(得分:1)
如果您要<input>
value
过滤到val2
,那就是:
$(".fbh-1[value=val2]").attr("checked","checked");
另外,使用prop
设置属性:
$(".fbh-1[value=val2]").prop("checked", true);
另外,不要使用jQuery:
document.querySelector(".fbh-1[value=val2]").checked = true;