Javascript 默认选择不显示在下拉列表中
这是从php文件中动态加载的下拉框。我已经设置了一个默认选项selectlanguage,但是一旦加载了ajax元素,它就不会显示 即使在加载ajax项目之后,如何将select语言设置为默认语言Javascript 默认选择不显示在下拉列表中,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,这是从php文件中动态加载的下拉框。我已经设置了一个默认选项selectlanguage,但是一旦加载了ajax元素,它就不会显示 即使在加载ajax项目之后,如何将select语言设置为默认语言 <select id="name"> <option style="display:none;" selected>Select language</option> </select> <?php if (isset($_GET['place
<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>
$el.empty语句从select中删除所有选项。您不应该删除第一个选项
为此,请使用not方法和:first伪类以保留默认选项
$el.find('option').not(':first').remove();
由于您需要删除旧选项,并在不丢失默认选择语言文本的情况下添加新选项,因此可以执行以下操作: 选择语言 $.ajax{ 类型:POST,, 数据:{地点:}, url:'listplace.php', 数据类型:“json”, 成功:函数json{ 如果json.option.length{ var$el=$name; $el.empty;//删除旧选项 //添加默认值 $el.追加“选择语言值”; 对于var i=0;i