我在下拉菜单中使用Select2。我有一个菜单为“国家”,一个为“州/省”。根据所选国家,“国家/省份”下载内容的变化。州/省从数据库中用ajax拉出,然后以这种方式显示:
$display_output = ' ';
$display_output .= 'Select a State ';
while ($state_details = $this->fetch_array($sql_select_states))
{
$display_output .= '' . $state_details['s.name'] . '';
}
$display_output .= '';
到现在为止还挺好。所有省份都正确变化,但是当它最初加载时,Select2对于状态下拉列表显示“undefined”,即使我设置为
data-placeholder="Choose a Country..."
我假设可能是因为加载,所选的国家是“美国”,它填充一个状态列表,但没有一个是默认或选择的。有没有其他方法来定义默认值,以便它不显示“未定义”?
另一个(但不太重要的)问题是,当有人选择“美国”,然后选择“亚利桑那州”时,如果该人随后改为“加拿大”作为国家,“亚利桑那州”的状态仍然停留在开放下拉菜单可以选择加拿大各省。有人选择另一个国家时,是否有任何方法临时将其返回到默认值,直到再次选择一个省?
我的加载代码目前只是:
$(document).ready(function() { $("#state").select2(); });