2013-07-25 32 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包含是/ body标签前的最后一行,因此应该已经加载了文档。不过,我反正只是为了踢就添加了$(function()...)。没有不同。奇怪的。 – Eric

+0

@Eric:浏览器控制台有任何错误吗?我想知道你是否可以在jsfiddler上重新创建这个问题 –