我有以下正常工作的 JQuery 函数:
$(function () {
$('#accmenu').change(function() {
$(".insightsgraphs div").hide();
$(".insightsoptions input").removeClass("green");
$("#newLikes").one('click', function () {
$.ajax({type:'GET', url: 'newLikes.php', data:$('#ChartsForm').serialize(), success:
function(response) {
var json = response.replace(/"/g,'');
json = "[" + json + "]";
json = json.replace(/'/g,'"');
var myData = JSON.parse(json);
var myChart = new JSChart('dailyNewLikes', 'line');
myChart.setDataArray(myData);
myChart.setAxisNameX('');
myChart.setAxisNameY('');
myChart.setAxisValuesColorX('#FFFFFF');
myChart.setSize(470, 235);
myChart.setTitle('Daily New Likes');
myChart.draw();
}});
return false;
});
$("#unlikes").one('click', function () {
$.ajax({type:'GET', url: 'unlikes.php', data:$('#ChartsForm').serialize(), success:
function(response) {
$("#dailyUnlikes").html(response);
}});
return false;
});
});
$("#newLikes").on('click', function(){
$(this).toggleClass('green');
$('#dailyNewLikes').toggle();
return false;
});
$("#unlikes").on('click', function(){
$(this).toggleClass('green');
$('#dailyUnlikes').toggle();
return false;
});
});
但我想创建一个条件:如果以下两个日期输入之一:
var since = $('#dateoptions input[name="since_date"]').val();
var until = $('#dateoptions input[name="until_date"]').val();
为空我希望收到警报,并且.one()
仅在满足条件时才执行该功能。例如,当我在没有输入日期的情况下单击其中一个按钮时,我想收到一个警报alert("One of the date or both missing")
,例如,在我选择日期并再次按下按钮以执行.one()
上述示例中的功能。我希望我让自己足够清楚。我知道我可以使用类似的东西:
if (until == "" || since == "") {
alert("One of the date or both missing")
} else {}
但到目前为止我的尝试没有成功。可能我没有将条件放在应该的位置......此外,还可以通过警报将输入集中、突出显示或类似的东西?
编辑:这是一个小提琴:http: //jsfiddle.net/DanielaVaduva/ueA7R/6/ 我用其他东西替换ajax调用而不修改流程。