fef*_*efe 197 jquery twitter-bootstrap jquery-select2
如何通过select2设置值重置的占位符.在我的示例中,如果单击位置或等级选择框,并且我的select2的值大于select2应重置的值并显示默认占位符.此脚本正在重置值,但不会显示占位符
$("#locations, #grade ").change(function() {
$('#e6').select2('data', {
placeholder: "Studiengang wählen",
id: null,
text: ''
});
});
$("#e6").select2({
placeholder: "Studiengang wählen",
width: 'resolve',
id: function(e) {
return e.subject;
},
minimumInputLength: 2,
ajax: {
url: "index.php?option=com_unis&task=search.locator&tmpl=component&<?php echo JSession::getFormToken() ?>=1",
dataType: 'json',
data: function(term, page) {
return {
q: term, // search term
g: $('#grade option:selected').val(),
o: $('#locations option:selected').val()
};
},
results: function(data, page) {
return {
results: data
};
}
},
formatResult: subjectFormatResult,
formatSelection: subjectFormatSelection,
dropdownCssClass: "bigdrop",
escapeMarkup: function(m) {
return m;
}
});
Run Code Online (Sandbox Code Playgroud)
Abd*_*lek 224
您必须将select2定义为
$("#customers_select").select2({
placeholder: "Select a customer",
initSelection: function(element, callback) {
}
});
Run Code Online (Sandbox Code Playgroud)
要重置select2
$("#customers_select").select2("val", "");
Run Code Online (Sandbox Code Playgroud)
小智 119
Select2更改了他们的API:
Select2:该
select2("val")方法已被弃用,将在以后的Select2版本中删除.请改用$ element.val().
现在最好的方法是:
$('#your_select_input').val('');
Run Code Online (Sandbox Code Playgroud)
编辑:2016年12月评论建议以下是更新的方法:
$('#your_select_input').val([]);
Run Code Online (Sandbox Code Playgroud)
Nor*_*Cat 100
接受的答案在我的案例中不起作用.我正在尝试这个,它正在工作:
定义select2:
$("#customers_select").select2({
placeholder: "Select a State",
allowClear: true
});
Run Code Online (Sandbox Code Playgroud)
要么
$("#customers_select").select2({
placeholder: "Select a State"
});
Run Code Online (Sandbox Code Playgroud)
重置:
$("#customers_select").val('').trigger('change')
Run Code Online (Sandbox Code Playgroud)
要么
$("#customers_select").empty().trigger('change')
Run Code Online (Sandbox Code Playgroud)
M.T*_*Tae 47
对我来说唯一可行的是:
$('select2element').val(null).trigger("change")
Run Code Online (Sandbox Code Playgroud)
我正在使用4.0.3版
参考
Mar*_*ato 16
Select2使用特定的CSS类,因此重置它的简单方法是:
$('.select2-container').select2('val', '');
Run Code Online (Sandbox Code Playgroud)
如果您在同一个表单中有多个Select2,那么您将拥有这一优势,所有这些都将使用此单个命令重置.
Sha*_*SMS 10
删除所选值
$('#employee_id').select2('val','');
Run Code Online (Sandbox Code Playgroud)
清除期权价值
$('#employee_id').html('');
Run Code Online (Sandbox Code Playgroud)
小智 8
我知道这是一个老问题,但这适用于select2版本4.0
$('#select2-element').val('').trigger('change');
Run Code Online (Sandbox Code Playgroud)
要么
$('#select2-element').val('').trigger('change.select2');
Run Code Online (Sandbox Code Playgroud)
如果你有绑定它的变化事件
对于Select2版本4.0.9,这对我有效:
$( "#myselect2" ).val('').trigger('change');
Run Code Online (Sandbox Code Playgroud)
我尝试了上述解决方案,但对我不起作用。
这是一种黑客,您不必触发更改。
$("select").select2('destroy').val("").select2();
Run Code Online (Sandbox Code Playgroud)
或者
$("select").each(function () { //added a each loop here
$(this).select2('destroy').val("").select2();
});
Run Code Online (Sandbox Code Playgroud)
小智 7
使用以下内容配置select2
$('#selectelementid').select2({
placeholder: "Please select an agent",
allowClear: true // This is for clear get the clear button if wanted
});
Run Code Online (Sandbox Code Playgroud)
并以编程方式清除选择输入
$("#selectelementid").val("").trigger("change");
$("#selectelementid").trigger("change");
Run Code Online (Sandbox Code Playgroud)
这是正确的方法:
$("#customers_select").val('').trigger('change');
Run Code Online (Sandbox Code Playgroud)
我正在使用最新版本的Select2。
小智 6
您可以通过以下方式清除 te 选择
$('#object').empty();
Run Code Online (Sandbox Code Playgroud)
但它不会让你回到你的占位符。
所以它的一半解决方案
首先,你必须像这样定义select2:
$('#id').select2({
placeholder: "Select groups...",
allowClear: true,
width: '100%',
})
Run Code Online (Sandbox Code Playgroud)
要重置select2,只需使用以下代码块:
$("#id > option").removeAttr("selected");
$("#id").trigger("change");
Run Code Online (Sandbox Code Playgroud)
对于加载远程数据的用户,这将在不触发ajax的情况下将select2重置为占位符。适用于v4.0.3:
$("#lstProducts").val("").trigger("change.select2");
Run Code Online (Sandbox Code Playgroud)
因此,要重置表单,有些人将有一个重置按钮。在 script 标签内添加以下代码
$('.your_btn_class').click(function(){
$('#select_field_id').val([]);
$("#select_field_id").select2({
placeholder: "this is a placeholder",
});
});
Run Code Online (Sandbox Code Playgroud)
或者只是清空选择字段而不保留占位符:
$('.your_btn_class').click(function(){
$('#select_field_id').val([]);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308423 次 |
| 最近记录: |