2013-07-25 2 views
-1

Я ДОЛЖЕН делать что-то глупое, но у меня есть крайний срок, и я смотрю на это НЕ нахожу его.Почему бы не сбросить сброс?

Пожалуйста, смотрите ОЧЕНЬ простой JSFiddle здесь:

http://jsfiddle.net/wxbVX/4/

<span>Select 'One', 'Two' or 'Three' from the drop down.<br /></span> 
<span>Then click the 'Reset' button'.<br /></span> 
<span>Why does the Drop Down not reset to 'Please Select'?<br /></span> 

<input id="reset" type="button" value="Reset" name="reset" /><br /> 

<script> 
    var $reset = $('#reset'); 

    $reset .click(function() { 
     $('#myddl').val("0");  
    }); 

</script> 

<select id="myddl" name="myddl"> 
    <option value="0">Please Select</option> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

Спасибо,

Эрик

+0

В чем проблема? –

ответ

4

Проблема заключается в том, что вы пытаетесь получить select перед ним на самом деле существует на странице. Обратите внимание, что ваш код js помещается перед определением reset. Введите код внутри document ready, чтобы убедиться, что все элементы уже загружены.

Боюсь, что я ошибся, единственная проблема на вашем jsfiddler заключается в том, что вы не ссылаетесь на библиотеку jquery. Посмотрите на левую панель. Наверху вы найдете раскрывающееся слово No-Library (pure Js). Измените это для любой версии jquery и вашего кода.

+0

Хотя вы абсолютно правы для JSFiddle, кажется, что в моем коде нет ничего глупого, потому что это не так. Ну, может быть, мне лучше это доказать. :) Благодаря. Будет обновлено позже. – Eric

+0

Так много для упрощения проблемы, пока решение не станет очевидным - у меня все еще есть ошибка. JS include - это последняя строка перед тегом/body, поэтому документ уже должен быть загружен. Тем не менее, я добавил $ (function() ...) в любом случае только для ударов. Нет разницы. Weird. – Eric

+0

@ Эрик: есть ли у вас какие-либо ошибки в консоли браузера? Интересно, можете ли вы воссоздать проблему на jsfiddler? –

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