3

以下の解決策を試して、リストされたオプションのいずれかを選択しました

<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

また、以下のコードは空の配列を返していることに注意してください。

$('#company_company_name').select2('data')
// => []

質問

jqueryを使用してすでに存在するselect2オプションを選択するにはどうすればよいですか?

アップデート

また、値を選択して変更をトリガーしようとしましたが、select2 が壊れていて、単純な選択フィールドが表示されます

$('#company_company_name').val('XYZ Company').trigger('change');
4

1 に答える 1

2

Select2 がリッスンするイベントは何ですか?

Select2 は、アタッチされている の変更イベントをリッスンします。Select2 に反映する必要がある外部変更 (値の変更など) を行う場合は、このイベントをトリガーする必要があります。

$('#company_company_name').val('XYZ Company'); 

それで

$('#company_company_name').trigger('change'); 

または

$('#company_company_name').trigger('change.select2');
于 2016-05-16T13:50:33.207 に答える