当我点击对应的复选框时,如何让不可编辑的文本框可编辑
答
此代码实际上工作正常,并且可以使用。
这是形式的东西:
<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>
这就是它,全部完成。当然,我相信它的作品。
答
基本上是:
$('#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'));
});
这对于'openid'不起作用,因为它的名字实际上是'open_id'。而且,这不会做相反的事情。尽管OP没有明确要求,但我认为如果它确实会更有意义。单选按钮应该是复选框。所以基本上所有''应该这样做。 – BalusC 2012-07-30 11:43:43