我有一个html表单,其中有四个单选按钮和一个文本框。我想要做的是 - 一旦我点击Test4
单选按钮,我想禁用node
文本框,这样任何人都无法输入任何内容。我不想隐藏它,我只是想禁用它。
但如果有人点击Test1
或Test2
或Test3
,那么任何人都可以输入任何内容。
这是我的jsfiddle
这可以使用jquery吗?
答案 0 :(得分:5)
是的,这是可能的;我建议:
$('input[type="radio"]').change(function(){
$('#node').prop('disabled', this.value === 'test4');
});
这会将disabled
元素的#node
属性设置为true
(如果changed元素的值为' test4'),则设置为{{ 1}}如果没有。
继续评论中的讨论(其中,基本上,OP显示检查false
的其他input
元素导致type="radio"
元素重新启用),我&#39 ;修改了HTML,提供了一种使用#node
将适当的input
与特定文本输入相关联的简单方法。给出以下HTML:
data-affects
加上修改后的jQuery:
<input type="radio" name="data" id="test1" value="test1" data-affects="nodes" />Test1
<input type="radio" name="data" id="test2" value="test2" data-affects="nodes" />Test2
<input type="radio" name="data" id="test3" value="test3" data-affects="nodes" />Test3
<input type="radio" name="data" id="test4" value="test4" data-affects="nodes" />Test4
参考文献:
答案 1 :(得分:1)
在你的jsfiddle中,在js的顶部添加这段代码:
$("input:radio[name=data]").change(function () {
var checkedValue = $(this).val();
if (checkedValue == "test4") {
$("#node").prop("disabled", true);
} else {
$("#node").prop("disabled", false);
}
});
您也可以通过ID而不是名称来呼叫广播组:
$("input:radio[id=data]").change(function () { //first line of code
此处的实例:http://jsfiddle.net/pw9nZ/
希望这可以帮助你...
西奥。