我的jquery代码出了问题。我的代码工作正常,除了IF条件中的警报部分。
$('#datepicker').datepicker({ onSelect: function(dateStr) {
var url = 'GetExchangeRate';
var sellingRateValue;
var buyingRateValue;
$('#Duedate').val(dateStr);
$.post(url, { dateToGet: dateStr },
function(data) {
var dr = $('#Dollar').val;
var br = $('#BuyingRate').val;
var sr = $('#SellingRate').val;
if ((dr == null || dr.length < 1) && (br == null || br.length < 1) && (sr == null || sr.length < 1)) {
alert("Please enter the exchage for today.");
$('#Dollar').val('');
$('#BuyingRate').val('');
$('#SellingRate').val('');
return false;
}
else {
$('#Dollar').val(data.DollarRate);
$('#BuyingRate').val(data.SellingRate);
$('#SellingRate').val(data.BuyingRate);
//alert(data.CurrentDate);
}
}, 'json');
}
});
这是代码部分无效。
if ((dr == null || dr.length < 1) && (br == null || br.length < 1) && (sr == null || sr.length < 1)) {
alert("Please enter the exchage for today.");
$('#Dollar').val('');
$('#BuyingRate').val('');
$('#SellingRate').val('');
return false;
答案 0 :(得分:4)
尝试:
function(data) {
var dr = $('#Dollar').val();
var br = $('#BuyingRate').val();
var sr = $('#SellingRate').val();
最后带()。
答案 1 :(得分:1)
虽然我不完全确定你想要做什么,但逻辑可能有些偏差。您应首先应用Sebastian的修复,并可能重新考虑if语句的条件。
if ( (dr == null || dr.length < 1)
&& (br == null || br.length < 1)
&& (sr == null || sr.length < 1)) {
alert("Please enter the exchage for today.");
$('#Dollar').val('');
$('#BuyingRate').val('');
$('#SellingRate').val('');
return false;
}
if的逻辑意味着只有在所有字段都为空时才重置这些字段,这对我来说似乎没有意义。我猜你想说的是,“重置所有这些字段,只要其中任何一个字段都是空的。”
if ( (dr == null || dr.length < 1)
|| (br == null || br.length < 1)
|| (sr == null || sr.length < 1)) {
旁注:
我认为你应该改变你的状况,
if (!dr && !br && !sr) {...} // your original code
或
if (!dr || !br || !sr) {...} // With my fix
答案 2 :(得分:1)