1

对应的有一个复选框和一个不可编辑的文本框。当我单击复选框时,相应的不可编辑文本框应变为可编辑文本框。我怎样才能做到这一点?

4

2 回答 2

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'));
});
于 2012-07-30T05:39:42.683 回答
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>                                  

就是这样,一切都完成了。当然,我相信它有效。

于 2012-07-30T06:09:30.703 回答