Stu*_*nes 11 jquery select click option
我有一个选择菜单,一旦单击其中一个选项就会触发AJAX请求.我需要从链接触发相关选项的click事件.所以我有类似下面的代码,虽然它改变了select的值,但它不会模拟点击:
$('#click').click(function(){
var value = $(this).attr("rel");
$('#select').val(value);
return false;
});
<select id="select" name="select">
<option>Select...</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
<a href="#" rel="1" id="click">Click for option 1</a>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
Lar*_*ydx 13
触发选项上的单击事件将不起作用.这是一个片段:
$('#click').on('click', function(){
var value = $(this).attr('rel'); //get the value
value++; //increment value for the nth-child selector to work
$('#select')
.find('option:nth-child(' + value + ')')
.prop('selected',true)
.trigger('change'); //trigger a change instead of click
return false;
});
Run Code Online (Sandbox Code Playgroud)
您可以触发更改事件并获得相同的效果,而不是使用单击.
$('#click').click(function(){
var value = $(this).attr("rel");
$('#select')
.val(value)
.trigger('click');
return false;
});
Run Code Online (Sandbox Code Playgroud)
仅仅设置 a 的值<select>不会触发该元素的点击事件;必须直接调用。
Stu*_*nes -2
它是 WooCommerce 核心的一部分,因此我无法发布全部内容。但这是一个片段,尽管我不太确定它是否会告诉你很多信息......
.on( 'change', '.variations select', function( event ) {
$variation_form = $(this).closest('form.variations_form');
$variation_form.find('input[name=variation_id]').val('').change();
$variation_form
.trigger( 'woocommerce_variation_select_change' )
.trigger( 'check_variations', [ '', false ] );
$(this).blur();
if( $().uniform && $.isFunction( $.uniform.update ) ) {
$.uniform.update();
}
} )
Run Code Online (Sandbox Code Playgroud)