2014-02-26 28 views
0

我有一個產品清單顯示在DataListasp.net。我有一個TextBoxDataList包含產品,其中包含Price。此Textbox用於修改產品的Price。僅當用戶輸入的PriceLESS THANMinimum的價格設置爲使用JQuery/Javascript的產品時,我纔想將消息顯示給用戶。如果條件不能在JavaScript/jQuery中工作?

所有工作正常。當我驗證文本框使用Class名稱它適用於第一個TextBox只有在DataList而不是其餘TextBox(當我在TextBox(考慮最低價格是50)輸入數額10時,它必須去'if'部分腳本。但是,它會在DataList中的'else'部分)。即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它顯示值修正我輸入了什麼,但不知道爲什麼「每種不超過」符號無法評估還檢查?

不知道爲什麼?

任何想法?

回答

-1

使用parseInt你的價值觀。因爲Java腳本把這些值的字符串,所以病情得到了這個問題

Javascript編譯代碼的樣子

if("10" < "9")) 
    { 

//codes 

因此,這些值是字符串,情況可能失敗

您需要伸出改變,如果條件

if(parseInt(changedVal) < parseInt(mp)) 
{ 
// codes 
+0

哎@Ramesh拉金德倫!是的,它工作正常..!謝謝:D –

+0

@Ramesh不復制我的代碼 – Amit

+0

哎呀,我沒有'看到你的文章,當我打字我的答案。 –

0

試試這個

if(parseInt(changedVal) < parseInt(mp)) 
{ 
    alert("Minimum Price of this Product is: " + mp); 
    $("#" + id).focus(); 
    //return false; 
} 
else { 
    alert("Price OK: " + changedVal + " mp:" + mp); 
    //return true; 
}