-2

personalLoan のチェックボックスの値に応じて、テキストボックスを読み取り専用にするかどうかを指定しようとしています。personalLoan チェックボックスがオンになっている場合、テキストを読み取り専用にしないでください。チェックされていない場合は、テキスト ボックスを読み取り専用にします。これが行の1つです

<tr id="mytableRows">
    <td class="even"><input type="checkbox" value="true" name="homeLoan"  ></td>
    <td class="odd"><input type="checkbox" value="true" name="autoLoan"  ></td>
    <td class="even"><input type="checkbox"  value="true" name="personalLoan"  ></td>
    <td class="odd"><input type="checkbox"  value="true" name="noLoan"  ></td>
    <td class="odd"><input type="text" name="peronalAmount" value="1"  readonly></td>
</tr>

私はこれまでのところこのコードを持っています

$(document).ready(function(){
    $('.test tr').click(function (event) {
        $(this).find(':checkbox').each(function(p){
            if($(this).attr('name') == 'personalLoan'){
                if ($(this).is(':checked')) {
                    alert("checked");
                }else{
                    alert("unchecked");
                }
            }
         });
    });
});

これは、チェックボックスの現在のステータスを教えてくれますが、本当に必要なのは、onchange の personalLoan チェックボックスを知ることです。これにより、テキストボックスを読み取り専用にするか、その行に入れないようにすることができます (td)

ありがとう

4

2 に答える 2

1

私自身の正気のために、これが私が理解している解決策です。

$('input[type=checkbox]', '.test').on('change', function(e) {
    if (this.name === 'personalLoan') {
       $(this).parents('tr').find('input[type=text]').prop('readonly', !this.checked);
    }
});

class のテーブルを想定すると、がチェックされているtest場合は入力が許可さpersonalLoanれ、チェックされていない場合は読み取り専用に切り替わります。

jsFiddle のデモ。(チェックボックスを赤で強調表示しました。)

そうでなければ、あなたが何をしようとしているのか、私にはまったくわかりません。

于 2013-07-02T00:15:44.153 に答える