admin管理员组文章数量:1302328
I want to edit option text and value selecting.
<select id="sel">
<option value="Option one">Option one</option>
<option value="Option two">Option two</option>
<option value="Option three">Option three</option>
<option value="Option four">Option four</option>
</select>
$("#sel").select2({
width: 400,
tags: true
});
Let's say I select Option one
, and I want to edit it to First Option
, both text and value. How can I do it?
After it should looks like
<select id="sel">
<option value="First option">First option</option>
<option value="Option two">Option two</option>
<option value="Option three">Option three</option>
<option value="Option four">Option four</option>
</select>
Something like this.
Before was tEST
after tEDT EDIT
, and all this I want to do with input of select2
I want to edit option text and value selecting.
<select id="sel">
<option value="Option one">Option one</option>
<option value="Option two">Option two</option>
<option value="Option three">Option three</option>
<option value="Option four">Option four</option>
</select>
$("#sel").select2({
width: 400,
tags: true
});
Let's say I select Option one
, and I want to edit it to First Option
, both text and value. How can I do it?
After it should looks like
<select id="sel">
<option value="First option">First option</option>
<option value="Option two">Option two</option>
<option value="Option three">Option three</option>
<option value="Option four">Option four</option>
</select>
Something like this.
Before was tEST
after tEDT EDIT
, and all this I want to do with input of select2
3 Answers
Reset to default 8I have solve my problem
var s = $("#sel").select2({
tags: true,
closeOnSelect: false,
width: 400,
});
var $search = s.data('select2').dropdown.$search || $el.data('select2').selection.$search;
s.on("select2:selecting", function(e) {
$search.val(e.params.args.data.text);
});
<script src="https://ajax.googleapis./ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare./ajax/libs/select2/4.0.0/js/select2.js"></script>
<link href="https://cdnjs.cloudflare./ajax/libs/select2/4.0.3/css/select2.css" rel="stylesheet" />
<select id="sel">
<option value="Option one">Option one</option>
<option value="Option two">Option two</option>
<option value="Option three">Option three</option>
<option value="Option four">Option four</option>
</select>
Try this:
$('#sel').click(function() {
var selectedOption = $(this).children("option").filter(":selected");
if (selectedOption.val() === 'Option one') {
selectedOption.text('First Option');
selectedOption.attr('value', 'First option');
}
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="sel">
<option value="Option one">Option one</option>
<option value="Option two" selected="1">Option two</option>
<option value="Option three">Option three</option>
<option value="Option four">Option four</option>
</select>
You can use the built-in change event like this :
$("#sel").select2({
width: 400,
tags: true
}).on("change", function (e) {
var elem = $("#sel");
if( elem.val() == "Option one" ){
$('#sel option:contains("Option one")').val('First option').text('First option');
elem.select2("destroy");
elem.select2({
width: 400,
tags: true
});
}
});
Here is the fiddle : https://jsfiddle/9aotj2or/17/
本文标签: javascriptSelect2 edit value of selected optionStack Overflow
版权声明:本文标题:javascript - Select2 edit value of selected option - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741692833a2392832.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论