当前位置: 首页 > 知识库问答 >
问题:

如何在ajax加载不同内容后刷新Select2下拉菜单?

壤驷宏才
2023-03-14
$display_output = '<select style="width:350px;" tabindex="2" name="state" id="state" data-placeholder="Choose a Country..."> ';
$display_output .= '<option value="" selected>Select a State</option> ';

while ($state_details = $this->fetch_array($sql_select_states))
{
    $display_output .= '<option value="' . $state_details['id'] . '" ' . (($selected_value == $state_details['id']) ? 'selected' : ''). '>' . $state_details['s.name'] . '</option>';
}

$display_output .= '</select>';

到目前为止还不错。所有的省都正确地改变了,但是当它开始加载时,Select2会显示状态下拉列表的“未定义”,即使我将其设置为

data-placeholder="Choose a Country..."

我假设这可能是因为加载时,选择的国家是“美国”,它填充了一个州的列表,但没有一个是默认的或选择的。有没有其他方法来定义一个默认值,使它不显示“未定义”?

另一个(但不太重要的)问题是,例如,当某人选择“美国”,然后选择“亚利桑那”时,如果该人随后将国家改为“加拿大”,“亚利桑那州”仍然保留,但当打开下拉框时,加拿大的省份是可选择的。有没有办法在有人选择另一个国家的时候,让它暂时回到默认值,直到重新选择一个省?

我的加载代码当前只是:

<script>
$(document).ready(function() { $("#state").select2(); });
</script>

共有1个答案

叶越
2023-03-14

请参阅Update select2 data而不重建控件,因为该控件可能是重复的。另一种方法是销毁然后重新创建select2元素。

$("#dropdown").select2("destroy");

$("#dropdown").select2();

如果在国家/地区更改中重置国家/地区时遇到问题,请尝试用

$("#dropdown").select2("val", "");

您可以在http://ivaynberg.github.io/select2/中查看文档,该文档概述了几乎/所有的特性。Select2支持change等事件,可用于更新后续下拉列表。

$("#dropdown").on("change", function(e) {});
fooBarDropdown.select2({
    data: fromAccountData
});
 类似资料:
  • 本文向大家介绍RecyclerView下拉刷新上拉加载,包括了RecyclerView下拉刷新上拉加载的使用技巧和注意事项,需要的朋友参考一下 一 、前言 最近实在太忙,一个多礼拜没有更新文章了,于是今晚加班加点把demo写出来,现在都12点了才开始写文章。 1.我们的目标 把RecyclerView下拉刷新上拉加载更多加入到我们的开发者头条APP中。 2.效果图 3.实现步骤 找一个带上拉刷新下

  • 问题内容: 我的意思是……让我们只是发出AJAX请求,然后将结果插入div#result中。 在后端脚本中,使用 ob_flush() 发送标头,但直到请求终止(使用 exit 或 ob_flush_end )后才终止请求 仅当请求终止( exit 或 ob_flush_end )时,内容才会加载到#result中,否则,每次脚本由 ob_flush 发送标头时,内容都会加载到 #result中

  • 我试图在一个网站上获得一个内容列表(若有人感兴趣的话,这一个)。布局最近发生了变化,现在他们不会一次加载所有内容,而是使用magic(可能是js)。我目前正在使用JSoup分析HTML,但我愿意接受建议。 这就是我得到的: 实现此目的的代码: 这是我想看到的(复制从检查元素后,页面加载了所有的内容): 谷歌帮不了什么忙,因为与微调器等相关的所有内容都与javascript有关。 解决方案: 由于J

  • 问题内容: 我想在单击按钮时重新加载div。我不想重新加载整个页面。 这是我的代码: HTML: 单击按钮后,应该重新加载而不加载或刷新整个页面。 以下是我尝试过但无法正常工作的Jquery:- 请提出建议。 这是我页面上的DIV,其中包含一些产品的图片和序列号…这将是第一次加载时来自数据库的信息。但是,如果用户遇到问题,他将单击“再次捕获”按钮“ ”,这将再次加载这些信息。 Div的HTML代码

  • 本文向大家介绍Android自定义下拉刷新上拉加载,包括了Android自定义下拉刷新上拉加载的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android自定义下拉刷新上拉加载的具体实现步骤,供大家参考,具体内容如下 实现的方式是SwipeRefreshLayout + RecyclerView 的VIewType 首先看效果: 总的思路: 布局文件 下拉刷新的实现思路 用于测试的