的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});
}
});
答案 0 :(得分:0)
首先你应该做什么(事件)改变将在select标签中发生,返回该值。然后只有函数才能工作。
如果在dollar.min中有函数,那么代码不知道什么时候会被调用。
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
minAmount值为dollars :{ min : minAmount }
dollars: {
required: true,
number: true,
min:{ depends: minAmount },
max: maximumDA,
unique: true
},
答案 1 :(得分:0)
这对我有用:
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
媒体资源进行了一些更改,以便进行测试。
<强> ALTERNATIVE:强>
您可以使用:
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()
},