这是来自php文件的动态加载下拉框。我已经设置了一个默认选项Select Language
但是一旦加载了ajax元素,这就不显示了。
即使加载ajax项目后,如何将选择语言设为默认语言?
<select id="name">
<option style="display:none;" selected>Select language</option>
</select>
<?php if (isset($_GET['place']) && $_GET['place'] != '') { ?>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$.ajax({
type: "POST",
data: {place: '<?= $_GET["place"] ?>'},
url: 'listplace.php',
dataType: 'json',
success: function (json) {
if (json.option.length) {
var $el = $("#name");
$el.empty(); // remove old options
for (var i = 0; i < json.option.length; i++) {
$el.append($('<option>',
{
value: json.option[i],
text: json.option[i]
}));
}
}else {
alert('No data found!');
}
}
});
</script>
答案 0 :(得分:2)
$el.empty()
语句会删除select
中的所有选项。你不应该删除第一个选项。
为此,请使用not
方法和:first
伪类以保留默认选项。
$el.find('option').not(':first').remove();
答案 1 :(得分:1)
因为您需要删除旧选项并添加新选项而不会丢失默认的“选择语言”文本,您可以这样做:
{{1}}