0

私はいくつかのチェックボックスを持っています。それぞれが 1 つの入力フィールドに関連付けられています。チェックボックスがチェックされている場合、入力フィールドを編集可能に設定したいと思います。つまり、無効な属性をfalseに設定します。それ以外の場合、入力フィールドは読み取り専用です。このようなチェックボックスと入力フィールドの 1 つのペアのコードは次のようになります (これらのコードはすべて、コンピテンシーと呼ばれる1 つのセクションに含まれています。

<label class="checkbox span3">
<input id="IT_OS_checkbox" type="checkbox" value="IT_OS" name="competency_checkbox[]">
IT - OS
</label>
<div class="controls">
<input id="IT_OS_input" class="input-xxlarge" type="text" name="competency_input[]" disabled="true" placeholder="mots clés séparés par virgule">
</div>

そのため、Jquery のonメソッドを使用して、各チェックボックスのイベントを発生させようとしています。コードは次のとおりです。

$("#competencies").on('change', '.checkbox', function (event) {
    var orig_val = event.target.parent().next('div').find('input').attr('disabled');
    alert(orig_val);
});

簡単にするために、セレクターが正常に機能することを確認したいだけですが、このコードは機能しません。Firebugでは、エラー メッセージはTypeError: event.target.parent is not a functionです。誰でもこれを理解するのを手伝ってもらえますか?

4

1 に答える 1

1

これを試して:

$("#competencies").on('change', '.checkbox', function (event) {
    var orig_val = $(event.target).parent().next('div').find('input').attr('disabled');
    alert(orig_val);
});

event.targetjQuery オブジェクトを取得するには、 をラップするだけです。

于 2013-05-01T17:49:06.863 に答える