大佬教程收集整理的这篇文章主要介绍了jquery – 使用Ajax时清除select2下拉列表的正确方法是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,假设我的id是“#Streamname”,我认为这会清除它:
$("#Streamname").val(null).trigger("change");
但它似乎仍然显示以前选择的项目.从查看html看来,我通过这样做蛮力:
$("#SELEct2-Streamname-container").html("");
但这似乎我没有正确使用API,所以我想看看是否有其他建议或我是否遗漏了一些东西.
看起来清除SELEct2的正确方法是您最初建议的this answer建议.
使用Javascript
$(document).ready(function() { $("#Streamname").SELEct2(); $("#Streamname").val(null).trigger("change"); });
HTML
<SELEct id="Streamname"> <option value="AL">Alabama</option> <option value="CA">California</option> <option value="WY">Wyoming</option> </SELEct>
更新 – 远程数据源
即使使用远程数据源,这仍然可以清除SELEct2输入:
$("#Streamname").val(null).trigger("change");
完整的Javascript
$(document).ready(function() { $("#Streamname").SELEct2({ ajax: { url: "https://api.github.com/search/repositories",dataType: 'json',delay: 250,data: function(params) { return { q: params.term,// search term page: params.page }; },processResults: function(data,params) { // parse the results into the format expected by SELEct2 // since we are using custom formatTing functions we do not need to // alter the remote JSON data,except to inDicate that infinite // scrolling can be used params.page = params.page || 1; return { results: data.items,pagination: { more: (params.page * 30) < data.@R_393_10586@l_count } }; },cache: true },escapeMarkup: function(markup) { return markup; },// let our custom formatter work minimumInputLength: 1,templateResult: formatRepo,// omitted for brevity,see the source of this page templateSELEction: formatRepoSELEction // omitted for brevity,see the source of this page }); $("#Streamname").val(null).trigger("change"); // For tesTing... $('#set-null').click(function() { $("#Streamname").val(null).trigger("change"); }); }); function formatRepo(repo) { if (repo.loading) return repo.text; var markup = "<div class='SELEct2-result-repository clearfix'>" + "<div class='SELEct2-result-repository__avatar'><img src='" + repo.owner.avatar_url + "' /></div>" + "<div class='SELEct2-result-repository__Meta'>" + "<div class='SELEct2-result-repository__title'>" + repo.full_name + "</div>"; if (repo.description) { markup += "<div class='SELEct2-result-repository__description'>" + repo.description + "</div>"; } markup += "<div class='SELEct2-result-repository__statistics'>" + "<div class='SELEct2-result-repository__forks'><i class='fa fa-flash'></i> " + repo.forks_count + " Forks</div>" + "<div class='SELEct2-result-repository__stargazers'><i class='fa fa-star'></i> " + repo.stargazers_count + " Stars</div>" + "<div class='SELEct2-result-repository__watchers'><i class='fa fa-eye'></i> " + repo.watchers_count + " Watchers</div>" + "</div>" + "</div></div>"; return markup; } function formatRepoSELEction(repo) { return repo.full_name || repo.text; }
HTML
<SELEct id="Streamname"> <option value="3620194" SELEcted="SELEcted">SELEct2/SELEct2</option> </SELEct>
以上是大佬教程为你收集整理的jquery – 使用Ajax时清除select2下拉列表的正确方法是什么?全部内容,希望文章能够帮你解决jquery – 使用Ajax时清除select2下拉列表的正确方法是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。