0

適切に機能している次の 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 呼び出しを別のものに置き換えます。

4

2 に答える 2