適切に機能している次の 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;
});
});
しかし、条件を作成したい: 次の2つの日付入力のいずれか:
var since = $('#dateoptions input[name="since_date"]').val();
var until = $('#dateoptions input[name="until_date"]').val();
が空 アラートを受信し.one()
、条件が満たされた場合にのみ実行される機能が必要です。たとえば、日付を入力せずにボタンの1つをクリックすると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 呼び出しを別のものに置き換えます。