有一个复选框和一个与之对应的不可编辑文本框。当我单击复选框时,相应的不可编辑文本框应该成为可编辑的文本框。我怎样才能做到这一点?
答案 0 :(得分:4)
基本上:
$('#some-checkbox').click(function() {
$('#some-textfield').prop('disabled', !$(this).is(':checked'));
});
现在,您如何查找相应的文本框取决于您的标记。一种方法是给文本框一个类,该类是复选框的ID。将其应用于所有复选框可能如下所示:
$(':checkbox').click(function() {
var box = $(this);
$('.' + box.attr('id')).prop('disabled', !box.is(':checked'));
});
否则,文本字段可能位于DOM上的位置:
<div class="wrapper">
<input type="checkbox">
...
<div>
<input type="text" disabled="disabled" />
</div>
</div>
然后您可以执行以下操作:
$(':checkbox').click(function() {
var box = $(this);
box.closest('.wrapper').find('input[type=text]').prop('disabled', !box.is(':checked'));
});
答案 1 :(得分:1)
这段代码实际上运行正常,随时可以使用。
这是形式的东西:
<form id="myGame" name="myGame" action="" method="post">
<input type="radio" name="checkme" id="checkme" onClick="openTheHouse();" >Open Sesame
<input name="open_id" id="openid" type=text disabled="disabled">
</from>
脚本:实际上非常酷,这个脚本没什么复杂的。
<script type="text/javascript">
function openTheHouse()
{
if(document.myGame.checkme.checked == true)
{
document.myGame.openid.disabled = false ;
}
}
</script>
就是这样,一切都完成了。当然我相信它有效。