2016-08-05 6 views
0

У меня есть поле input['text'], чтобы ввести дату, а также указать dropdown для выбранной категории.Как я могу исправить эту проблему jquery?

При изменении поля ввода даты я хочу сделать перезагрузку страницы с указанием значений даты и категории в URL-адресе.

ПРИМЕЧАНИЕ: Здесь я хочу прикрепить значение категории, если оно не пусто.

Вот как я попробовал. Но это не работает для меня.

$("#date").change(function() { 
    var c = $("#category").val(); 
    var d = $(this).val(); 
    if(c.length === 0) { 
    var cat = "$cat="+c; 
    } else { 
    var cat; 
    } 

    location.href="?p=attendance&todate="+d.add(cat); 
}) 

Это результат, когда идентификатор категории не пуст.

?p=attendance&todate=2016-08-04undefined 

Может кто-нибудь помочь мне исправить мою проблему? Спасибо.

+2

Этот вопрос, вероятно, будет несуществующим, если вы просто представили форму обычным способом, вместо того чтобы пытаться самостоятельно манипулировать URL. – CBroe

+0

@CBroe, я должен отображать другие поля в соответствии с этой датой и выбором категории. Вот почему я подавляю страницу ... – user3733831

+0

Что это значит? Просто отправьте форму при срабатывании события изменения поля даты - тогда он будет помещать текущие значения поля в URL-адрес _automatically_, потому что это работает с формами GET. – CBroe

ответ

0

Вы можете попробовать этот подход. Положите только то, что у вас есть.

$("#date").change(function() { 
    var url = ''; 
    var c = $("#category").val(); 
    var d = $(this).val(); 
    if(c.trim().length) { url+='&cat='+c } 
    if(d.trim().length) { url+='&todate='+d } 
    location.href="?p=attendance"+url; 
}) 
+0

Спасибо за ваш ответ. Но если категория пуста, то я могу получить '? P = attendance & todate = 2016-08-04 & cat ='. Можете ли вы сказать мне, как удалить '& cat =', если категория пуста. – user3733831

+0

@ user3733831 затем просто проверьте длину c.trim(). См. Отредактированный ответ. –

Смежные вопросы