Javascript
dollars: {
required: true,
number: true,
min:{
depends: function(element) {
if($('#method option:selected').text() == "Cash Deposit"){
return 20;
} else if($('#method option:selected').text() == "Wire Transfer"){
return 200;
}
else{
return 20;
}
}
}
,
max: maximumDA,
unique: true
},
HTML
<select class="required" id="method" name="method" required>
<option value="deposit">Cash Deposit</option>
<option value="wire">Wire Transfer</option>
<option value="cbymail">Cash by Mail</option>
</select>
当选择其他选项时,我正在尝试更改最低美元金额。依赖程序不能正常工作。我有一种感觉,我必须创建自己的规则才能使其工作,我只是想知道它们是否是依赖程序正常工作的一种方式。
编辑:
我的解决方案:
为了动态地更改最小数量,我认为你不能使用依赖函数来更改规则的值,只有开关。
我只是简单地删除并添加了规则,使其在我需要的时候发挥作用。
$('#method').change(function(){
if($('#method option:selected').text() == "Cash Deposit"){
$('#dollars').rules("remove","min");
$('#dollars').rules("add",{min:20});
}
else if($('#method option:selected').text() == "Wire Transfer"){
$('#dollars').rules("remove","min");
$('#dollars').rules("add",{min:200});
}
else{
$('#dollars').rules("remove","min");
$('#dollars').rules("add",{min:20});
}
});
首先,您应该在select标记中发生(事件(更改时返回该值。然后,只有函数才能工作。
如果函数在dollars.min-it代码中,则不知道何时调用它。
var minAmount;
$('#method').change(function(){
if($('#method option:selected').text() == "Cash Deposit") { minAmount=20; }
else if($('#method option:selected').text() == "Wire Transfer") { minAmount=200; }
else { minAmount=20; }
alert(minAmount);
});
现在assign
最小值为dollars :{ min : minAmount }
dollars: {
required: true,
number: true,
min:{ depends: minAmount },
max: maximumDA,
unique: true
},
这对我有效:
function returnValue() {
var theValue;
if ($('#method option:selected').val() == "deposit") {
theValue = 20;
} else if ($('#method option:selected').val() == "wire") {
theValue = 200;
} else {
theValue = 20;
}
var variable = {
dollars: {
required: true,
number: true,
min: {
depends: theValue
},
max: maximumDA,
unique: true
}
};
return variable;
}
$('#method').change(function () {
returnValue();
});
returnValue();
请注意,出于测试目的,我对dollars
属性进行了一些更改。
备选方案:
您可以使用:
function returnValue() {
if ($('#method option:selected').val() == "deposit") {
return 20;
} else if ($('#method option:selected').val() == "wire") {
return 200;
} else {
return 20;
}
}
然后通过调用函数
min: {
depends: returnValue()
},