1

私はこのHTMLコードを持っています:

<input type="checkbox" onclick="document.getElementById('directory_entry_name').disabled=this.checked;" name="directory_entry" id="directory_entry" />

<strong>Name: </strong><input type="text" name="directory_entry_name" id="directory_entry_name" disabled="disabled" />

テキストボックスが無効になっているので、チェックボックスをオンにするとテキストボックスが有効になり、再度オフにするとテキストボックスが無効になります。

私が使用すると動作します:

<input type="checkbox" onclick="document.getElementById('directory_entry_name').disabled=false;" name="directory_entry" id="directory_entry" />

ただし、チェックを外すと、テキストボックスが再度無効になりません。

4

2 に答える 2

0

ブラウザは、値ではなく無効な属性があるかどうかをチェックます。jQuery .removeAttr() および .attr() でこれを行うことができます

したがって、関数は次のようになります。

function SetInputActive(checkbox) {
if($(checkbox).is(':checked')) $('directory_entry_name').removeAttr("disabled");
else $('directory_entry_name').attr("disabled", "disabled");
}

于 2013-08-15T11:13:49.337 に答える