Я имею следующую функцию JQuery, которая работает должным образом: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 {}
но мои попытки пока не увенчались успехом. Вероятно, я не поставил условие, в котором он должен ... Также возможно также с предупреждением, что входы будут сфокусированы, выделены или что-то подобное?
EDIT: Вот скрипка с ним: http://jsfiddle.net/DanielaVaduva/ueA7R/6/ я заменить вызов Ajax с чем-то другим, не изменять поток.
Это должно сработать, вы можете предоставить демо на http://jsfiddle.net? – undefined
Вы пробовали 'if (until.trim(). Length === 0 || since.trim(). Length === 0)'? – DaGLiMiOuX
Не является аргументом if, но проблема заключается в том, что, если поставить его перед вызовом ajax, он выполнит '.one()' без запроса get, если входы отсутствуют, а во второй раз я нажимаю кнопка не делает запрос больше, потому что '.one()' уже выполнен один раз. Мне нужно что-то вроде сброса '.one()' counter или так? –