我有一个ListView
包含一个下拉列表、4 个文本框和按钮。我希望仅在下拉列表value=2
针对ListView
.
例如,我有 5 条记录显示在ListView
第 2 条和第 3 条中value=2
这是我的document.ready
它预设并在页面加载时选择下拉列表的每个值。所以我试图显示它ZipBox
何时执行此操作,因为我觉得这将是最简单的,但我也愿意接受其他建议,因为显示该框似乎不起作用。
$('.Existing').each(function() {
var select = $(this).attr('data');
$(this).val(select);
//this part doesn't work below
if(select=="2")
{
$('#zipBox').css({ 'visibility': 'visible' });
}
});
如果下拉选择发生更改,我还需要显示文本框,见下文尝试过,但它只适用于第一个。例如,如果我更改第 5 条记录的值,它将使ZipBox
第一行而不是第 5 行可见。
$('.Existing').change(function() {
if ($(this).val() == '2') {
$('#ZipBox').css({ 'visibility': 'visible' });
}
});
这是列表视图:
<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>
<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" type="text" id="city" value="<%# Eval("City")%>" />
<input size="4" type="text" id="state" value="<%# Eval("State")%>" />
<input size="4" type="text" id="Phone" value="<%# Eval("PhoneNbr")%>" />
<span id="ZipBox" style="visibility: hidden">
<input maxlength="5" size="5" type="text" id="zip" value="<%# Eval("ZIP")%>" />
</span>
</td>
<td>
<2 buttons here>
</td>
</tr>
</ItemTemplate>
</asp:ListView>