【发布时间】:2014-02-26 10:52:18
【问题描述】:
我有一个在DataList 中显示在asp.net 中的产品列表。我在DataList 中有一个TextBox,其中包含包含Price 的产品。这个Textbox用于修改产品的Price。我只想在用户输入的Price 是LESS THAN 时向用户显示消息,Minimum 价格设置为使用JQuery/Javascript 的产品。
一切正常。就在我使用Class 名称验证文本框时,它仅适用于第一个TextBox,仅适用于DataList,不适用于剩余的TextBox(当我在TextBox 中输入金额10 时(考虑到最低价格为50)必须转到脚本的“if”部分。但是,它转到脚本中的“else”部分)在 DataList 中。即 LESS THAN 符号仅适用于 DataList 中的 FirstItem 而不适用于其他 TextBox。
在内容标签中:
<script language="javascript" type="text/javascript">
// $(".numericText").change(function() {alert("changecalled") });
$(document).on("change", ".numericText", function() {
var id = $(this).attr("id");
var sp = $(this).attr("sp");
var mp = $(this).attr("mp");
//var changedVal = $("#" + id).val();
var changedVal = $("#"+this.id).val();
if(changedVal < mp)
{
alert("Minimum Price of this Product is: " + mp);
$("#" + id).focus();
//return false;
}
else {
alert("Price OK: " + changedVal + " mp:" + mp);
//return true;
}
//alert("ind doc" + "\n" + "SP:" + sp + " " + "MP" + mp + "CV:" + changedVal);
});
</script>
在 DataList 项模板中:
<p>
<asp:TextBox ID="txtSalesPrice" class="numericText" sp='<%# Eval("SalesPrice") %>'
mp='<%# Eval("MinimumPrice") %>' runat="server" Text='<%# Eval("SalesPrice") %>'
Width="60px"></asp:TextBox><br />
<asp:Button ID="BtnDevices" runat="server" class="btnCart" Text="Add to Cart" CommandName="AddToCart"
CommandArgument='<%# Eval("CategoryID") %>' />
</p>
注意: DataList 在 UpdatePanel 中。我还使用 ALERT 进行了检查,它显示的值正确,但我不知道为什么“LESSTHAN”符号无法评估?
不知道为什么?
有什么想法吗?
【问题讨论】:
标签: jquery asp.net updatepanel conditional-statements