jquery相对于表单启用/禁用了无线电
在我的页面中,我有多个表单,当我单击单选按钮“disabled\u radio”时,我会禁用单选按钮“radio\u enabled\u disabled”,但对于相对表单idjquery相对于表单启用/禁用了无线电,jquery,html,Jquery,Html,在我的页面中,我有多个表单,当我单击单选按钮“disabled\u radio”时,我会禁用单选按钮“radio\u enabled\u disabled”,但对于相对表单id <td> <form method="post" name="form1" id="form1" action="send.php"> <div id="choice"> <input type="radio" name="enabled_radio" value="
<td>
<form method="post" name="form1" id="form1" action="send.php">
<div id="choice">
<input type="radio" name="enabled_radio" value="yes" />YES
<input type="radio" name="disabled_radio" value="no" />NO
</div>
<div id="mydiv">
<input type="radio" name="radio_enabled_disabled" />
</div>
</form>
</td>
<td>
<form method="post" name="form2" id="form2" action="send.php">
<div id="choice">
<input type="radio" name="enabled_radio" value="yes" />YES
<input type="radio" name="disabled_radio" value="no" />NO
</div>
<div id="mydiv">
<input type="radio" name="radio_enabled_disabled" />
</div>
</form>
</td>
对
不
对
不
首先,您需要一个固定的HTML,不使用重复使用的id和电台名称对其进行分组:
<form method="post" name="form1" id="form1" action="send.php">
<input type="radio" name="enable_radio" value="yes">YES
<input type="radio" name="enable_radio" value="no">NO
<input type="radio" name="radio_enabled_disabled">
</form>
<form method="post" name="form2" id="form2" action="send.php">
<input type="radio" name="enable_radio" value="yes">YES
<input type="radio" name="enable_radio" value="no">NO
<input type="radio" name="radio_enabled_disabled">
</form>
<form method="post" name="form3" id="form3" action="send.php">
<input type="radio" name="enable_radio" value="yes">YES
<input type="radio" name="enable_radio" value="no">NO
<input type="radio" name="radio_enabled_disabled">
</form>
首先,您需要一个固定的HTML,不使用重复使用的id和电台名称对其进行分组:
<form method="post" name="form1" id="form1" action="send.php">
<input type="radio" name="enable_radio" value="yes">YES
<input type="radio" name="enable_radio" value="no">NO
<input type="radio" name="radio_enabled_disabled">
</form>
<form method="post" name="form2" id="form2" action="send.php">
<input type="radio" name="enable_radio" value="yes">YES
<input type="radio" name="enable_radio" value="no">NO
<input type="radio" name="radio_enabled_disabled">
</form>
<form method="post" name="form3" id="form3" action="send.php">
<input type="radio" name="enable_radio" value="yes">YES
<input type="radio" name="enable_radio" value="no">NO
<input type="radio" name="radio_enabled_disabled">
</form>
您的HTML有一些问题,但我假设这只是一些示例代码,用于显示您正在尝试执行的操作 如果您的radio元素是要启用/禁用的表单的子元素,则可以使用在DOM中向上移动一级,并到达表单元素
$('input.disabled_radio').on('click',function(){
$(this.parent().find('input[name="radio_enabled_disabled"]').prop('disabled','disabled');
});
这段代码将找到相对的父表单元素,并为其中包含的每个输入元素设置disabled属性
就个人而言,我喜欢尽可能详细地处理代码。我发现这大大提高了可读性。因此,我建议使用jQuery而不是parent()
。closest()
函数要求您指定要查找的父元素的类型。所以代码应该是这样的-
$('input.disabled_radio').on('click',function(){
$(this.closest('form').find('input[name="radio_enabled_disabled"]').prop('disabled','disabled');
});
之后,要重新启用单选按钮,需要删除该已禁用的属性。为此,您可以使用此-
.prop('disabled','');
您的HTML有一些问题,但我将假设这只是一些示例代码,用于显示您正在尝试执行的操作 如果您的radio元素是要启用/禁用的表单的子元素,则可以使用在DOM中向上移动一级,并到达表单元素
$('input.disabled_radio').on('click',function(){
$(this.parent().find('input[name="radio_enabled_disabled"]').prop('disabled','disabled');
});
这段代码将找到相对的父表单元素,并为其中包含的每个输入元素设置disabled属性
就个人而言,我喜欢尽可能详细地处理代码。我发现这大大提高了可读性。因此,我建议使用jQuery而不是parent()
。closest()
函数要求您指定要查找的父元素的类型。所以代码应该是这样的-
$('input.disabled_radio').on('click',function(){
$(this.closest('form').find('input[name="radio_enabled_disabled"]').prop('disabled','disabled');
});
之后,要重新启用单选按钮,需要删除该已禁用的属性。为此,您可以使用此-
.prop('disabled','');
您的HTML充满了错误:重复使用ID,未使用无线组名称。您的HTML充满了错误:重复使用ID,未使用无线组名称。