我有以下HTML代码:
<select id="manufacturer">
<option value="0">Select a manufacturer</option>
<option value="Brother">Brother</option>
</select>
<div class="select-widget"></div>
当我按.select-widget
div时,我尝试调用click方法进行选择,但没有任何反应!
$('select').next().click(function(){
$(this).prev().click();
});
P.S。触发器('click')以相同的方式工作,它不会产生下拉事件!
那么当我点击.select-widget div时如何触发select的下拉事件? Plz帮助这个问题的人!
答案 0 :(得分:1)
也许我错过了什么,但这会解决你的问题吗? http://jsfiddle.net/p4s6z/2/
HTML:
<select id="manufacturer">
<option value="0">Select a manufacturer</option>
<option value="Brother">Brother</option>
</select>
<input type='submit' class='select-widget' onclick='alert("ok")'></input>
使用Javascript:
$('select').on('change',function(){
$('.select-widget').click();
});
编辑已更新为使用on
,感谢@ jme11
答案 1 :(得分:0)
我不确定您正在寻找什么功能,但是您可以使用jQuery中的.click()获得相同的反应,就像您实际点击页面一样。 .click()jQuery函数只能点击&#39;在触发任何点击事件的意义上的元素。
答案 2 :(得分:0)
您需要使用触发器方法。试试这个:
$('.select-widget').on('click', function(){
$('#manufacturer').trigger('click');
});
$('#manufacturer').on('click', function(){
$(this).val('Brother');
});
您也明白,jQuery中的click()方法是一个事件处理程序,它是onclick的简写。触发器方法将触发所选元素上的事件。
答案 3 :(得分:0)
如果您的代码要求您触发事件,则可能需要重构。
$(document).ready(function(){
$('select').on('change',function(){
$('.select-widget').submit();
});
$('.select-widget').on('submit',function(){
alert('submitted!');
});
})