从javascript列表中删除选择值
我目前有一个从Json数组填充的dorp下拉列表,这很好,但是当我编辑我的选择时,我需要删除已经选择的选项,这样它就不会出现两次从javascript列表中删除选择值,javascript,jquery,Javascript,Jquery,我目前有一个从Json数组填充的dorp下拉列表,这很好,但是当我编辑我的选择时,我需要删除已经选择的选项,这样它就不会出现两次 for (i = 0; i < datain.length; i++) { if (datain[i].Name == course) { selectedCourseId = datain[i].Id; selectedCourseName = datain[i].Name; } $('#EditCour
for (i = 0; i < datain.length; i++) {
if (datain[i].Name == course) {
selectedCourseId = datain[i].Id;
selectedCourseName = datain[i].Name;
}
$('#EditCourseSelect').append($('<option></option>').attr("value", datain[i].Id).text(datain[i].Name));
}
$('#EditCourseSelect').prepend("<option value=" + selectedCourseId + " selected='selected'>" + selectedCourseName + "</option>");
任何帮助都将不胜感激只需使用CSS选择器即可
或者使用jQuery
当
在我为您制作的中测试它您可能只需要避免在for循环中创建它,这样您就不必删除它了
for (i = 0; i < datain.length; i++) {
if (datain[i].Name == course) {
selectedCourseId = datain[i].Id;
selectedCourseName = datain[i].Name;
} else {
$('#EditCourseSelect').append($('<option></option>').attr("value", datain[i].Id).text(datain[i].Name));
}
}
$('#EditCourseSelect').prepend("<option value=" + selectedCourseId + " selected='selected'>" + selectedCourseName + "</option>");
在为下拉列表创建选项时,可以避免添加重复记录。最好不要添加两次,而不是添加两次再删除一次。这是一张工作票
如果您通过的课程与循环中的名称匹配,则只需添加prop'selected',true作为额外选项,否则不为。此处您总是将所选项目作为第一个选项添加。如果需要按照JSON数组中的顺序显示下拉选项,则不会以这种方式处理。当你循环每个项目时,在循环内处理它比在循环外添加它更合适。无论如何,欧普接受了答案!我只想提到关于订单的问题。@DeepakBiswal虽然你的评论是相关的,但它实际上不在问题imho的范围之内
$('#EditCourseSelect').find("option:selected").remove()
for (i = 0; i < datain.length; i++) {
if (datain[i].Name == course) {
selectedCourseId = datain[i].Id;
selectedCourseName = datain[i].Name;
} else {
$('#EditCourseSelect').append($('<option></option>').attr("value", datain[i].Id).text(datain[i].Name));
}
}
$('#EditCourseSelect').prepend("<option value=" + selectedCourseId + " selected='selected'>" + selectedCourseName + "</option>");
var datain = [{'Id': 1, 'Name': 'jQuery'}, {'Id': 2, 'Name': 'PHP'}, {'Id': 3, 'Name': 'JavaScript'}, {'Id': 4, 'Name': 'HTML5'}, {'Id': 5, 'Name': 'CSS3'}];
var course = 'CSS3';
for (i = 0; i < datain.length; i++) {
if (datain[i].Name == course) {
$('#EditCourseSelect').append($('<option></option>').attr("value", datain[i].Id).prop('selected', true).text(datain[i].Name));
} else {
$('#EditCourseSelect').append($('<option></option>').attr("value", datain[i].Id).text(datain[i].Name));
}
}