0

这是场景。我有一个填充项目的下拉列表。下拉列表项包含产品 ID 作为值。现在需要使用 rangevalidator 验证要填写在文本框中的数量,其中最大值将根据所选项目的产品 ID 从数据库中获取。(我已经有一个存储的过程来提供相应产品 ID 的最大数量)。如何设置数量范围验证器的最大值。我还使用 jquery 插件来设计下拉菜单,并使用客户端脚本根据产品 ID 显示价格,因为 selectindexchanged 没有被触发。任何人都会对这个问题有所了解。

在此处输入图像描述

4

2 回答 2

1

要在 Javascript 中更改验证器的最大值,请使用:

var rvalid = document.getElementById('<%= RangeValidator1.ClientID %>');
rvalid.maximumvalue = 10;

为了从存储过程中获得最大数量,有很多解决方案。您可以进行 Ajax 调用,也可以在页面呈现时立即存储所有值。

你是如何根据ID得到价格值的?也许您应该在这里遵循类似的方法。

于 2013-04-17T08:49:33.527 回答
0

请改用 CustomValidator。将 SP 的结果设置为 Javascript 变量并在 ClientValidate 函数中使用它。

像这样的东西:

<script language="JavaScript">
  function CheckQuantity(sender, args)
  {
    if ($('#ddl').val()>maxQty)
         args.IsValid = false;
    else
         args.IsValid = true;
  }
</script>

<asp:CustomValidator
ControlToValidate="ddl"
OnServerValidate="CheckQuantity"
Text="Invalid quantity"
runat="server"/>
于 2013-04-17T08:18:56.167 回答