我正在使用Select2(版本4.0.5)并且无法使.val方法起作用。
这里注意到:https://select2.org/programmatic-control/add-select-clear-items
也许我加入太早了,有人可以帮忙吗?
我定义了一个php变量(来自页面URL)
例如来自:example.com/?searchTextField=Somewhere1
<?php $LocationSearchTextField = $this->getRequest()->getParam('searchTextField'); ?>
然后初始化Select2:
<script type="text/javascript">jQuery(document).ready(function($) {
$('.select2-select').select2({
theme: "classic",
allowClear: true
});
$('.select2-select').val('"<?php echo $LocationSearchTextField ?>"');
$('.select2-select').trigger('change');
});
</script>
然后在此处定义选择选项:
<select class="select2-select searchpage" id="searchTextField" name="searchTextField" data-minimumResultsForSearch="-1" data-placeholder="Location.." />
<option value=""></option>
<optgroup label="Places1">
<option value="Somewhere1">Somewhere1</option>
</optgroup>
<optgroup label="Places2">
<option value="Somewhere2">Somewhere2</option>
<option value="Somewhere3">Somewhere3</option>
</optgroup>
</select>
但是Select2使用占位符,并且没有观察.val选项。
如何告诉Select2使用$ LocationSearchTextField变量作为Selected值(同时允许清除占位符)?