任何人都可以使用Jquery帮助如何在转发器中循环项目。我有这个代码
<asp:Repeater runat="server" ID="rptData">
<HeaderTemplate>
<div style="border: 1px solid #c4c4c4; width: 98%; font:8px;">
<table cellpadding="4px" id="tbValue" width="100%" style="margin:0;">
<tr>
<td width="30%" style="background-color: #CCC;">Qty</td>
<td width="60%" style="background-color: #CCC;">Description</td>
<td width="60%" style="background-color: #CCC;">ID</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background: #fff" <%# If(Container.ItemIndex Mod 2=0 , "class='odd'", "") %>>
<td>
<asp:TextBox ID="txtQuantity" runat="server" CssClass="textbox" />
</td>
<td>
<asp:Label ID="lblDesc" runat="server" Text='<%# Eval("Description")%>' CssClass="LabelInfo" />
</td>
<td>
<asp:Label ID="lblId" runat="server" Text='<%# Eval("Kit_ID")%>' />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</div>
</FooterTemplate>
</asp:Repeater>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="button" Width="150px" style="margin: 1.5em 2em 0 0;" />
我要做的是,在按钮单击中我想在转发器中获取每个txtqty并检查该值是否等于10.如果等于10 - 我将获得lbldesc的值,如果小于10我会得到lblId值
输出应该是 -Equal tom 10
DESCRIPTION - QUANTITY
Itemxxx – 10
Itemwww – 10
ID - QUANTITY
1 – 7
2 – 2
答案 0 :(得分:2)
首先,在使用转发器时,您无法使用jquery中的#lbldesc
等ID直接访问字段,因为asp会为转发器生成的每个字段分配自己的唯一值。
那就是说,你仍然可以选择获取数据并使用它,使用css类就可以实现这一点:
将类分配给lbldesc
和lblId
:假设给出了相同的类,现在您可以在jquery中轻松地循环它们,如下所示:
$('#btnSubmit').click(function(){
var equalToTen = new Array();
var notEqualToTen = new Array();
$('.textbox').each(function () {
if (Number($(this).val()) > 10) {
equalToTen.push($(this).closest('tr').find('.lbldesc').html());
}
else {
notEqualToTen.push($(this).closest('tr').find('.lblId').html());
}
});
for (var i = 0; i < equalToTen.length; i++) {
alert("I am equal to 10: " + equalToTen.pop());
}
for (var i = 0; i < notEqualToTen.length; i++) {
alert("I am not equal to 10: " + notEqualToTen.pop());
}
});
注意:数组和循环仅作为示例 希望这能回答你的问题
答案 1 :(得分:1)
$('#btn').on('click',function(){
$('#txtQuantity').each(function ()
{
var val;
if($(this).val()==10)
{
val=$(this).closest('tr').find('#lblDesc').text();
}
else
{
val=$(this).closest('tr').find('#lblId').text();
}
});
});
这是一个简单的Jquery代码,可以帮到你。
修改: 以上代码已经过编辑
快乐编码:)
答案 2 :(得分:1)
可能是这样的
<script>
$(document).ready(function() {
$(buttonselector).on('click',function(){
$('.textbox').each(function(){
if($(this).val() == 10){
$(outputselector).html($(this).next('#lbldesc').html());
}
else{
$(outputselector).html($(this).next('#lblId').html());
}
});
})
});
</script>
那些#net控制器使这个丑陋的id更好地给lbldesc和lblId一个css类并使用css类作为选择器