0

ドロップダウン、3 つのテキスト ボックス、可視性を切り替えるスパンでラップされた 1 つのテキスト ボックス、および 2 つのボタンを含むリストビューがあります。スパンでラップされたテキスト ボックスの値と属性の値にアクセスできません。それはおそらく、私がアクセスしようとしている方法に関係しています。どんな助けでも大歓迎です。

リストビューは次のとおりです。

<asp:ListView runat="server" ID="ListView1">
<LayoutTemplate>
    <table id="tablesorter" style="border: solid 1px black; width: 55%;">
        <thead>
            <tr>
                <th>
                    <a href="#">Country</a>
                </th>
                <th>
                    <a href="#">Info.</a>
                </th>
                <th>
                    <a href="#">Action</a>
                </th>
            </tr>
        </thead>
        <tbody>
            <tr id="itemPlaceholder" runat="server" />
        </tbody>
        <tfoot>
        </tfoot>
    </table>
</LayoutTemplate>
<ItemTemplate>
    <tr>
        <td>
            &nbsp;&nbsp;<select id="Existing" data="<%# Eval("Type").ToString()%>"
                class="Existing" style="width: 90px">
                <option value="0">USA</option>
                <option value="1">CAN</option>
                <option value="2">MEX</option>
        </td>
        <td>
            <input size="4" data="" type="text" id="city" value="<%# Eval("City")%>" />
            <input size="4" data="" type="text" id="state" value="<%# Eval("State")%>" />
            <input size="4" data="" type="text" id="Phone" value="<%# Eval("PhoneNbr")%>" />
            <span class="ZipBox" id="ZipBox" style="visibility: hidden">
                <input maxlength="5" data="" class="zip" size="5" type="text" id="zip" value="<%# Eval("ZIP")%>" />
            </span>
        </td>
        <td>
            <2 buttons here>
        </td>
    </tr>
  </ItemTemplate>
</asp:ListView>

これは、ボタンのクリック時にすべてのテキストボックスなどの値にアクセスしている私のJavascriptです...

$(.updatebuttonclick)
        .click(function() {
            var parent = $(this).parent().prev();
            var tr = $(this).closest('tr');

            var TypeNode = tr.find("select.Existing").first();
            var cityNode = parent.children(".city").first();
            var stateNode = parent.children(".state").first();
            var phoneNode = parent.children(".phone").first();
            var zipNode = parent.children(".zip").first();


            var newcity = cityNode.val();
            var originalcity = cityNode.attr('data');

            var newstate = stateNode.val();
            var originalstate = stateNode.attr('data');

            var newphone = phoneNode.val();
            var originalphone = phoneNode.attr('data');


            //check for business type for extension
            if (newcity == "2") {

                var newzip = zipNode.val();
                var originalzip = zipNode.attr('data');
            }
});
4

3 に答える 3

1

ID をテキスト ボックスに設定し、次の方法でアクセスするのと同じくらい簡単ですか。

document.getElementById('yourtextboxid').value

また

document.yourformname.yourtextboxname.value

また

$('#yourtextboxid').val()
于 2013-03-12T20:13:25.663 に答える
0

find 関数を使用して、DOM 内の要素を深く検索できます

var zipNode = parent.find(".zip");
于 2013-03-12T20:10:27.587 に答える
0

ID で zipNode にアクセスするだけです。

var zipNode = parent.find("#zip");
于 2013-03-12T20:13:01.123 に答える