【问题标题】:Select2 return a placeholder value with jquerySelect2用jquery返回一个占位符值
【发布时间】:2020-03-03 12:13:02
【问题描述】:

我希望在显示占位符时从 select2 框中返回一个值。无论我做什么,它都会返回 null 或空,而不是预期值。当用户未选择任何内容时,我想在此示例中以某种方式获得“99999”:

<select id='filter'>
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3'>three</option>
</select>

...

$('#filter').select2 ({
    allowClear: true,
    placeholder: {
        id: '99999',
        text: 'select something'
    }
});

...

console.log($('#filter').val());  // returns null when placeholder visible
console.log($('#filter').select2('data'));  // returns [] when placeholder visible

【问题讨论】:

  • 如果您希望它被视为正常值,请将其作为选项之一而不是占位符。

标签: javascript jquery jquery-select2 placeholder


【解决方案1】:

修复它。问题的核心是空白选项要求...但您需要在空白选项中包含 id。

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/css/select2.min.css" rel="stylesheet" />
<select style="width:400px;" id="filter" >
  <option value="99999"></option>
  <option value="1">example 1</option>
  <option value="1">example 1</option>
  <option value="2">example 2</option>
  <option value="3">example 3</option>
</select>
<button id="clickme">clickme</button>

$('#filter').select2({
    allowClear: true,
    placeholder: {
        id: "99999",
        text: "select something"
    }
    //placeholder: "select something"
})
$('#clickme').click(function() {
    console.log($('#filter').children("option:selected").val());

http://jsfiddle.net/juwmb3oh/

【讨论】:

    猜你喜欢
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2016-03-13
    • 2016-10-04
    相关资源
    最近更新 更多