在jQuery中,当我第一次从选择中选择时,然后显示正确,之后再次更改选择选项时,则在下拉列表中显示具有新选择值的最后一个选择的值。每当更改选择选项时,我都想要新的值。谁能告诉我问题是什么?我尝试了许多解决方案,但听不懂。
<select name="salutation_specify" id="DropDownList" class="form-control" required>
$("select[name='dr_designation']").change(function() {
var dr_designations = $(this).val();
console.log(dr_designations);
var token = $("input[name='_token']").val();
$.ajax({
url: "<?php echo route('fm.designation_show') ?>",
method: 'POST',
data: {
dr_designations: dr_designations,
_token: token
},
success: function(data) {
// console.log(data.specify_specialty);
$(".specify").each(function() {
$(this).find('option').not(':first').remove();
});
$.each(data, function(i, item) {
// $('.specify').append("<option value='"+item.specify_specialty+"' >"+item.specify_specialty+"</option>");
console.log(item.specify_specialty);
var x = item.specify_specialty;
var splitValues = x.split(",");
for (var i = 0; i < splitValues.length; i++) {
var opt = document.createElement("option");
// Add an Option object to Drop Down/List Box
document.getElementById("DropDownList").options.add(opt);
// Assign text and value to Option object
opt.text = splitValues[i];
opt.value = splitValues[i];
}
});
}
});
});
答案 0 :(得分:2)
您在这里犯了1个错误。
$(".specify").each(function() {
$(this).find('option').not(':first').remove();
});
尝试使用。
$("#DropDownList").each(function() {
$(this).find('option').remove();
});
答案 1 :(得分:0)
您的问题有点难以理解,但是,如果我理解正确,那么每次在选择输入中更改值时都需要该值,对吗?如果答案是肯定的,请以这种方式更改第一行代码:
$(“ select [name ='dr_designation']”)。onchange(function(){
也许在文档准备好后加载脚本
让我知道! 费德