if (questions[0]) { $("select[id$=ddlPollQuestions] > option").remove(); $('#ddlPollQuestions').append('<option value="">Choose a question to compare to</option>'); $.each(questions,function(i,question) { $('#ddlPollQuestions').append('<option value="' + question.QUESTIONID + '">' + question.TEXT + '</option>'); }); } else { $("select[id$=ddlPollQuestions] > option").remove(); $('#ddlPollQuestions').append('<option value="' + 0 + '">' + 'There are no questions of this type' + '</option>'); }
它的作用是删除所有以前的值,但是我想要第一个选项,即“选择一个问题…”保留,然后显示“没有问题…”作为我的第二个选项.我的代码在这里没有显示“选择一个问题..”作为第一个选项.谢谢你看看!
解决方法
使用
:gt选择器.
试试这个(注意我已经添加了一个字符串变量,以便在每个循环之后附加选项以获得更好的性能):
if (questions[0]) { $("select[id$=ddlPollQuestions] > option:gt(0)").remove(); $('#ddlPollQuestions').append('<option value="">Choose a question to compare to</option>'); var options = ""; $.each(questions,question) { options += '<option value="' + question.QUESTIONID + '">' + question.TEXT + '</option>'; }); $('#ddlPollQuestions').append(options); } else { $("select[id$=ddlPollQuestions] > option:gt(0)").remove(); $('#ddlPollQuestions').append('<option value="' + 0 + '">' + 'There are no questions of this type' + '</option>'); }