Cas*_*sey 9 jquery selectize.js
我试过这个:
var eventHandler = function() {
return function() {
console.log($select.val());
};
};
var $select = $('.selectize').selectize({
create : true,
onChange : eventHandler()
});
Run Code Online (Sandbox Code Playgroud)
这让我了解所选选项的价值,但我需要文本.当我这样做:
console.log($select.val().text());
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.我尝试过其他事情无济于事.如何获取所选文本?
小智 9
select_option.getItem(select_option.getValue())[0].innerHTML;
select_option = $select_option[0].selectize;
获取指定下拉选项的文本值.
this.getItem(value)[0].innerHTML 获取当前下拉选项的文本值
最简单的方法是使用onChange事件并从选定的选项中获取文本
JS:
$(function(){
$('#select').selectize({
create: true,
sortField: {
field: 'text',
direction: 'asc'
},
onChange:function(value){
$(".log").append("Value:" + value + "<br />");
$(".log").append("Text:" +$("#select option:selected").text() + "<br />");
},
dropdownParent: 'body'
});
});Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" type="text/css" href="https://selectize.github.io/selectize.js/css/styles.css">
<link rel="stylesheet" type="text/css" href="https://selectize.github.io/selectize.js/css/selectize.default.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" src="https://selectize.github.io/selectize.js/js/selectize.js"></script>
<select id="select" class="control-form" data-placeholder="Select a person...">
<option value="">None</option>
<option value="4">Thomas Edison</option>
<option value="1">Nikola</option>
<option value="3">Nikola Tesla</option>
<option value="5">Arnold Schwarzenegger</option>
</select>
<div class="log"></div>Run Code Online (Sandbox Code Playgroud)
小智 5
您可以通过以下方式获取选定的文本:
$('select').selectize({
onInitialize: function (selectize) {
selectize.on('change', function (value) {
var item = this.$input[0];
var selected_text = $(item.selectize.getItem(value)[0]).text();
});
}
}
Run Code Online (Sandbox Code Playgroud)
所以我让它工作了。这真是太糟糕了,必须有更好的方法。有一个方法getValue(),但没有相应的getText()方法。
var eventHandler = function() {
return function() {
var something = selectizeControl.getItem(selectizeControl.getValue());
console.log(something.text());
};
};
var $select = $('.selectize').selectize({
create : true,
onChange : eventHandler()
});
var selectizeControl = $select[0].selectize
Run Code Online (Sandbox Code Playgroud)