我的HTML是
<select class="form-select ajax-processed shipping-recalculation-processed" name="customer_profile_shipping[addressbook]" id="edit-customer-profile-shipping-addressbook"><option value="none">-- Choose --</option>
<option selected="selected" value="20">tehran-righthand</option>
<option value="39"></option>
</select>
我想尝试通过单击另一个html元素来更改所选选项,同时我还提到了此选择选项上的ajax设置更改, 我的目标是隐藏这个元素,并根据我的html更改此选择选项的值(然后应该触发ajax)
(function($){
//$('#edit-customer-profile-shipping-addressbook').hide();
$('.user-profile-address').click(function(){
var id=$(this).prop('id');
$('#edit-customer-profile-shipping-addressbook option[value="'+id+'"]').prop("selected",true);
///also I try this , I check click event handle correctly and passed true id (etc 20,39,none_
//$('#edit-customer-profile-shipping-addressbook ').val(id);
$('#edit-customer-profile-shipping-addressbook').change();
//console.log(id);
//console.log($('#edit-customer-profile-shipping-addressbook').val());
});
})(jQuery);
我尝试这段代码,选择选项在外观上有所改变,但是当检查元素时,我看到select元素没有改变。
答案 0 :(得分:0)
解决方案是(我应该在更改ID后调用.change)
$('#edit-customer-profile-shipping-addressbook').val(id).change();