我尝试在下面的解决方案中选择一个列出的选项
<select data-placeholder="Company Name" class="select required form-control select2-hidden-accessible" name="company[company_name]" id="company_company_name" tabindex="-1" aria-hidden="true">
<option value=""></option>
<option value="ABC">ABC</option>
<option value="XYZ Company">XYZ Company</option>
<option value="PQR Company">PQR Company</option>
</select>
我试过了:
// Not working
$('#company_company_name').select2('val', 'XYZ Company');
// => undefined
// Not Working
$('#company_company_name').select2('val', 'XYZ Company', true);
// => undefined
// Not Working
$('#company_company_name').select2('data', {id: 'XYZ Company');
// => undefined
// Not working
$('#company_company_name').select2('data', {id: 'XYZ Company', a_key: 'XYZ Company');
// => undefined
代码下面的ALSO NOTE 返回空数组:
$('#company_company_name').select2('data')
// => []
问题
如何使用jquery选择已存在的select2选项?
更新
我也尝试选择值并触发更改,但是,然后,select2被打破,我可以看到简单的选择字段
$('#company_company_name').val('XYZ Company').trigger('change');
答案 0 :(得分:2)
<强> What events does Select2 listen for? 强>
Select2将侦听附加到的更改事件。如果您进行任何需要在Select2中反映的外部更改(例如更改值),则应触发此事件。
$('#company_company_name').val('XYZ Company');
然后
$('#company_company_name').trigger('change');
或者
$('#company_company_name').trigger('change.select2');