0

このテーブル構造を考えると:

<table id="tblBranchDetails">
    <tr>
        <td width="120px">Branch:</td>
        <td id="branchName" class="branchData">
            <label id="lblBranchName"></label>
            <input type="text" id="txtBranchName" class="hideOnLoad editBranchInfo" />
        </td>
    </tr>
    <tr>
        <td>Address Line 1:</td>
        <td id="branchAddress1" class="branchData">
            <label id="lblAddress1"></label>
            <input type="text" id="txtAddress1" class="hideOnLoad editBranchInfo" />
        </td>
    </tr>...

ラベルのテキストをクリアして入力を非表示にできるように、各 td でラベルと入力を選択しようとしています。

これにより、ラベルにテキストが表示されます(コンソールで確認):

$('table#tblBranchDetails tr td:nth-child(2):eq(0)').text();

だから、「.text('')」でラベルのテキストをクリアできることを知っています

それを理解したので、これで入力の値が得られると思いました。

$('table#tblBranchDetails tr td:nth-child(2):eq(1)').val()

しかし、次の td でラベルの値が表示されます。だから明らかに私は :nth-child() と :eq() 関数を間違って使っています。

私がやろうとしていることを行う正しい方法は何ですか?

4

1 に答える 1

0

私はこれを核攻撃していました。

解決策は次のとおりです。

$('#btnShowBranchEditBoxes').click(function() {
    $('#tblBranchDetails tr').find('label').fadeOut(200);
    $('#tblBranchDetails tr').find('.editBranchInfo').delay(200).fadeIn(200);

    // Replace the buttons
    $('table#tblBranchDetails input#btnShowBranchEditBoxes').fadeOut(200);
    $('table#tblBranchDetails input.btnEditBranch').delay(200).fadeIn(200);
});
于 2013-01-24T23:06:08.727 に答える