2016-04-05 6 views
0

Мне нужно отобразить дату с option в поле предупреждения.Не получать дату из значения опциона

HTML:

<select id="account_type" name="account_type"> 
    <option value="1">Thursday May 29 at 2:00 PM ET</option> 
    <option value="2">Tuesday May 22 at 10:00 AM ET</option> 
</select> 

<input type="image" id="submit" src="http://image.iloqal.com/lib/fe5c1570746107757c1c/m/1/55599_submit_btn.jpg" alt="Submit"> 

JQuery:

$(document).ready(function() { 
    $("#submit").click({ 
    var str = $(this).find('#account_type option:selected').text(); 
    var d = new Date(str); 
    var n = d.getDay() + "" + d.getMonth() + "" + d.getHour(); 
    alert("your Date is ", n); 
    }); 
}); 

ответ

0

В обработчике события:

$("#submit").click({ 
    var str = $(this).find('#account_type option:selected').text(); 

Вы ищете опцию под this - но this - это элемент, на котором было инициировано событие. В вашем случае это кнопка отправки. Поле select не является дочерним элементом кнопки, поэтому вызов find ничего не вернет.

Поскольку выберите поле имеет идентификатор, и идентификаторы DOM являются уникальными, вам не нужно ограничить поиск на всех, и

$("#submit").click({ 
    var str = $('#account_type option:selected').text(); 

будет достаточно.

+0

да, вы правы, но мне нужно показать предупреждение для определенного дня и месяца Из формата даты EST, что еще мне нужно сделать – delta12

+0

Это звучит как другой вопрос для меня - если вы хотите знать, как конвертировать форматы даты, на SO здесь уже много ответов. Если они не решают вашу конкретную проблему, создайте для этого новый вопрос. – moopet

+0

ok Предположим, я не хочу конвертировать любое значение, которое я получаю из значения параметра. Мне нужно получить только месяц и дату, для которых я использовал d.getDay() и d.getMonth(), это очень просто, например, но я не могу выяснить, что на нем не так. – delta12

0

Попробуйте это ........

$(document).ready(function() { 
     $("#submit").click({ 

     var str=$('#account_type option:selected').text(); 
     var d= new Date(str); 
     var n=d.getDay()+""+d.getMonth()+""+d.getHour(); 
     alert("your Date is ",n); 
     }); 
+0

Это должно быть 'd.getHours();' not 'd.getHour()' – guradio

+0

- это выбор даты из опции, но не показывающий оповещения о конкретном дне и месяце и часе – delta12

0

этот код работает

$(document).ready(function() { 
    $("#submit").click(function(){ 

    var str=$('#account_type option:selected').text(); 
    alert("str : "+str); 
    var d= new Date(str); 
    var n=d.getDay()+""+d.getMonth()+""+d.getHours(); 
    alert("your Date is ",n); 
    }); 
    }); 

для получения текста внутри

После, эта линия

var d= new Date(str); 

не имеет смысла, читать о документации Дата класса

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