我有以下代码:
var choices = [];
var previousChoice;
$(document)
.on('focus',
".ddlConfidence",
function() {
// Store the current value on focus
previousChoice = this.value;
});
$(document)
.on("change",
".ddlConfidence",
function () {
if ($(this).val() === "0") {
//Remove from array
choices.splice(choices.indexOf(parseInt(previousChoice)), 1);
//TODO: Add choice back to all drop downs
} else {
//Add chosen to array
choices.push(parseInt($(this).val()));
//TODO: Remove choice from all drop downs except this one
}
});
降价:
<select name="Picks[1].Confidence" class="form-control ddlConfidence">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="Picks[2].Confidence" class="form-control ddlConfidence">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
我有40个下拉,每个都有0-40个选项。如果用户选择大于0的数字,我将其添加到数组中,如果他们选择0,我将其从数组中删除。如何从所有下拉菜单中删除或添加所选数字,以便在完成时,他们必须为所有下拉菜单选择1-40(防止他们通过添加/删除选择相同的数字两次它来自所有其他下降。
谢谢!
答案 0 :(得分:0)
不是最优雅的解决方案,但它确实有效。当我需要在选项中添加时,我添加选项然后重新排序选项列表:
8