如果包含在span中,请查找文本框值和属性

时间:2013-03-12 20:06:58

标签: javascript asp.net html listview textbox

我有一个listview,其中包含一个下拉列表,3个文本框,1个文本框包含在一个范围内以切换visiblility和2个按钮。 我无法访问包含在span中的文本框属性的值和值。这可能与我试图访问它的方式有关。任何帮助表示赞赏。

这是listview:

<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');
            }
});

3 个答案:

答案 0 :(得分:1)

是否像在文本框中设置ID并通过以下方式访问它们一样简单:

document.getElementById('yourtextboxid').value

document.yourformname.yourtextboxname.value

$('#yourtextboxid').val()

答案 1 :(得分:0)

您可以使用find函数在DOM中深入查找元素

var zipNode = parent.find(".zip");

答案 2 :(得分:0)

只需按ID访问zipNode:

var zipNode = parent.find("#zip");