我有一些从mysql数据库显示的单选按钮。我想要实现的是当我在选择单选按钮后单击提交按钮时,它被禁用,当我单击另一个单选按钮时,将启用先前禁用的单选按钮,并且将禁用当前选择的单选按钮。 我显示按钮的代码:
<form action="">
<?php
foreach ($sql->results() as $sql) {?>
<input type="radio" name="session_id" id="cur" value="<?php echo $sql->id; ?>"> <?php echo $sql->title;?><?php
}?>
<input type="submit" value="submit" onclick="set_type('a')">
</form>
<?php
}
?>
我试过在jsfiddle上启用和禁用一些单选按钮,但它只适用于不同的ID,而我的单选按钮只有一个id。
编辑:已经明确,ids必须是唯一的。我已经改变了。
答案 0 :(得分:0)
我有两个建议。
答案 1 :(得分:0)
我对你想要做的事情感到有些困惑,但我会为每个解释提供一个解决方案。 :)
您应该能够使用此代码获得所需的效果,而无需使用任何id
或name
属性:
方法#1:如果您希望在选择相关的单选按钮时禁用这些按钮,请使用以下代码:
$(":radio").on("change", function() {
$(":submit:disabled").prop("disabled", false);
$(this).next(":submit").prop("disabled", true);
});
方法#2:如果按钮仅在单击后被禁用,则使用此代码:
$(":radio").on("change", function() {
$(":submit:disabled").prop("disabled", false);
});
。 。 。让click
功能(可能)与按钮绑定,处理禁用它。
说明:基本上,每次单击单选按钮时,都要转动当前禁用按钮的disabled
属性。 。 。最简单的方法是选择所有禁用的按钮并更改disabled
属性。完成后,您可以将disabled
状态重新应用到与单选按钮关联的状态(或者,当单击按钮时执行此操作... ...无论哪个匹配您要完成的任务:) )。
注意:这也假设您没有任何其他单选按钮并在页面上提交按钮。 。 。如果你这样做,你将需要“范围”jQuery选择器。最简单的方法是提供<form>
元素和id
(我将在此示例中使用“FORM_ID”),然后将代码更新为:
$("#FORM_ID").find(":radio").on("change", function() {
$("#FORM_ID").find(":submit:disabled").prop("disabled", false);
$(this).next(":submit").prop("disabled", true);
});
修改强>
根据您的澄清,此代码应该可以实现您的目标:
$(":submit").on("click", function() {
$(":submit:disabled").prop("disabled", false);
$(this).prop("disabled", true);
});