占位符不在select2中工作

alw*_*ner 11 jquery jquery-select2

我正在工作Select2 选择框.

问题

占位符未显示select2.它始终显示在中选择的第一个选项select2.它会自动选择我想要显示占位符而不是它的第一个选项.

在此输入图像描述

我的代码:

脚本:

<script type="text/javascript">
    $(document).ready(function () {
       var data = $('#test_skill').select2({
            placeholder: "Please select an skill",
            allowClear: true
       });
    });

// I have also tried this: This is also not working
    $('#test_skill').select2({
      placeholder: {
        id: '-1', // the value of the option
        text: 'Please select an skill'
      } 
    });
</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<select class="skills_select2" required name="test_skill" id="test_skill">          
    <option value="1">TEST1</option>
    <option value="2">TEST2</option>
    <option value="3">TEST3</option>            
</select>
Run Code Online (Sandbox Code Playgroud)

Gov*_*row 26

只需<option></option>在第一位选择:

$(document).ready(function() {
  $selectElement = $('#test_skill').select2({
    placeholder: "Please select an skill",
    allowClear: true
  });
});
Run Code Online (Sandbox Code Playgroud)
.skills_select2 {
  width: 120px;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.css" />
<select class="skills_select2" required name="test_skill" id="test_skill">   
    <option></option>
    <option value="1">TEST1</option>
    <option value="2">TEST2</option>
    <option value="3">TEST3</option>            
</select>
Run Code Online (Sandbox Code Playgroud)


小智 8

要使占位符正常工作,您必须添加一个空选项(即 )作为查看占位符的第一个元素。

来自 Select2 文档:

“请注意,由于浏览器假定在非多值选择框中选择了第一个选项元素,因此必须提供空的第一个选项元素 () 才能使占位符起作用。”

例如:

<select class="skills_select2" required name="test_skill" id="test_skill"> 
    <option></option>    
    <option value="1">TEST1</option>
    <option value="2">TEST2</option>
    <option value="3">TEST3</option>            
</select>
Run Code Online (Sandbox Code Playgroud)

和 javascript 将是:

$("#test_skill").attr(
   "data-placeholder","Please select an skill"
);
Run Code Online (Sandbox Code Playgroud)


小智 5

如何在html中设置它

<select>
  <option value="" disabled  selected>Select your option</option>
  <option value="your value ">your value</option>
</select>
Run Code Online (Sandbox Code Playgroud)