2017-07-22 214 views
0

我正在使用select2作为在API调用中填充的选择框。我想打电话给另一个API,当我从下拉列表,它现在是这样的一个项目:每当我挑一些其他的价值选择2 onChange()触发器被选择

<select id="person-select" onchange="callAnotherApi()" style="width: 100%"> 
</select> 

API被调用,而不是当我拿起第一个(这已经是默认选中,因此不会触发onChange())。 onClick()在此处不起作用。我想知道是否可以禁用选择的第一条记录或使其工作?

+0

告诉我完整的代码 –

+0

哪一部分? 'select2'被加载,函数触发另一个API,这只是第一个默认选择值的问题 – Norgul

+0

这就是我发现的:“这种行为并不是因为Select2强制它,而是因为浏览器自动选择第一个我们无法控制它,我们只能解决它,最好的选择是在Select2中使用占位符支持,并且包含一个空白选项标签作为默认选择。“ –

回答

3

您可以禁用第一个选项,把占位符文本:

<select> 
    <option val="null" disabled selected> select an answer</option> 
    <option val="one">one</option> 
</select> 

检查此琴:http://jsfiddle.net/sL4fLnhn/

$('select').on('change', function(){ 
     $('select option:disabled').remove(); 
    }); 
    $('select').select2(); 
+0

圆滑而简单。谢谢 – Norgul