编辑A: --这不是一个jquery问题,而是一个jquery 问题。
编辑B:我更改了标题..。最初,我问过如何具体地触发“单击”事件,但是如果您想重新创建jqm:Select菜单选项,那么“单击”事件显然不是要使用的适当事件。
如何在jquery移动选择菜单上以编程方式触发事件?
<select id = 'my_select'
name = 'my_select'
onchange = 'gf_handle_change( this.value );' >
<option id = 'option_A' value = 'A'> A </option>
<option id = 'option_B' value = 'B'> B </option>
</select>
<script>
function gf_fire_event( args_val )
{ alert( 'test : ' + jQuery( '#option_' + args_val ) ) ;
jQuery( '#option_' + args_val ).trigger( 'click' ) ;
}
function gf_handle_change( args_val )
{ alert( args_val ) ;
}
gf_fire_event( 'A' ) ;
</script>
这不管用。
发布于 2013-02-08 04:46:25
下面是一个例子:
$(document).on('pagebeforeshow', '#index', function(){
$("#test-button").on( "click", function(event, ui) {
$('#my_select option#option_B').trigger('click');
});
$("#my_select option").each(function(){
$(this).on( "click", function(event, ui) {
$(this).attr('selected' , true);
$('#my_select').selectmenu('refresh');
});
});
});
工作jsFiddle示例:http://jsfiddle.net/Gajotres/RZ68b/
还有一件事,不要使用onclick=“.或onchange=”.对于jQuery移动,这可能会导致事件触发出现问题。始终以编程方式绑定事件。
发布于 2013-02-08 05:58:48
那就行了
function gf_fire_event( args_val )
{
//Select an option
$('#my_select option[value=' + args_val +']').attr("selected", "selected");
//Refresh jQM select menu
$('#my_select').selectmenu('refresh');
//Trigger change event
$('#my_select').trigger('change');
}
见工作jsFiddle
https://stackoverflow.com/questions/14772820
复制相似问题