尝试隐藏包含文本和文本框的范围,具体取决于条件。这会在设置值后设置每个下拉列表的值,我想检查每个值,如果值不等于10,那么我想隐藏跨度。任何帮助都会很棒。这段代码似乎隐藏了所有跨度,而不是那些不是10
的跨度$('.existing')
.each(function() {
var DD1 = $(this).attr('current');
$(this).val(DD1);
console.log(DD1);
//上面选择html下拉列表的值,下面应检查该值并隐藏跨度(如果不是10)
var parent = $(this).parent().prev();
var tr = $(this).closest('tr');
if ($(this).val(DD1) !== "10") {
var hide = tr.find(".hideifnot").hide();
}
});
<asp:ListView runat="server" id="ListView1" >
<LayoutTemplate>
<thead>
<tr>
<th>
<a href="#">Type</a>
</th>
<th>
<a href="#">Address</a>
</th>
</tr>
</thead>
<tbody>
<tr id="itemPlaceholder" runat="server" />
</tbody>
<tfoot>
</tfoot>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<select id="DD" current="" class="existing">
</select>
</td>
<td>
<input type="text" id="Type" class="TypeText " value="<%# Eval("Type")%>" />
<span class="HideifNot"> Address: <input type="text" id="Addr" class="AddrText " value="<%# Eval("Address")%>" /> </span>
</td>
<td>
<input type="button" id="btn_update" class="Update" value="Update" />
<input type="button" id="btn_delete" class="Delete" value="Delete" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
Listview的客户端只包含它的一个列表:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
People i = Data;
ListView1.DataSource = i.Addresses;
ListView1.DataBind();
}
}
答案 0 :(得分:0)
您的选择缺少结束>
。
应该是:
<select id="DD" current="" class="existing">
而不是:
<select id="DD" current="" class="existing"
修改强> 另外,你应该改变:
var hide = tr.find(".hideifnot").hide();
要:
var hide = tr.find(".HideifNot").hide();