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>');
}
这样做会删除所有以前的值,但是我想要第一个选项,即“选择一个问题......”保留,然后显示“没有问题...”作为我的第二个选项。我的代码在这里没有显示“选择一个问题..”作为第一个选项。谢谢你看看!
答案 0 :(得分:27)
更简单的方法:
$('#ddlPollQuestions').children('option:not(:first)').remove();
答案 1 :(得分:9)
使用: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, function(i, 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>');
}
答案 2 :(得分:0)
由于您要移除代码中的所有选项,因此您可能只想在Choose a question...
语句中再次附加else
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="">Choose a question to compare to</option>');
$('#ddlPollQuestions').append('<option value="' + 0 + '">' + 'There are no questions of this type' + '</option>');
}
答案 3 :(得分:0)
示例:http://jsfiddle.net/xeYwv/2/
var $PollQuestions = $('#ddlPollQuestions');
if (questions[0]) {
$PollQuestions.children().remove();
$PollQuestions.append('<option value="0">Choose a question to compare to</option>');
$.each(questions, function(i, question) {
$PollQuestions.append('<option value="' + question.QUESTIONID + '">' + question.TEXT + '</option>');
});
} else {
$PollQuestions.children().remove();
$PollQuestions.append('<option value="' + 0 + '">' + 'There are no questions of this type' + '</option>');
}
你所拥有的已经非常接近了。