这是场景。 我有一个下拉列表,用于填充项目。下拉列表项包含产品ID作为值。 现在需要使用rangevalidator验证文本框中要填充的数量,其中根据所选项目的产品ID从数据库中获取最大值。(我已经有一个存储的proc来提供相应productid的最大数量)。 如何为数量设置范围验证器的最大值。 我还使用了jquery插件来设计下拉列表,并使用clientide脚本根据产品ID显示价格,因为selectindexchanged未被触发。 有人会对这个问题有所了解。
答案 0 :(得分:1)
要在Javascript使用中更改验证器的最大值:
var rvalid = document.getElementById('<%= RangeValidator1.ClientID %>');
rvalid.maximumvalue = 10;
为了从存储过程中获取最大数量,有许多解决方案。您可以执行Ajax调用,也可以在页面呈现时立即存储所有值。
您是如何根据身份证获得价格的?也许你应该遵循类似的方法。
答案 1 :(得分: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"/>