我希望能够根据文本框中的值(数字)从下拉列表中删除和添加字段。从下拉菜单中删除和添加字段,基于文本框,Javascript
我已经尝试了下面的jsfiddle删除项目,但我需要能够添加项目,如果值更改并添加更多的条件。
我还希望所有的选项都需要与天数过多或过少时保持分开。例如,如果用户输入30以下将显示在下拉列表中: 巴西 中国 葡萄牙,1 - 2天 葡萄牙,7 - 28天 西班牙,1 - 2天 西班牙,7 - 28天
如果将文本框中的值更改为5,则将重新添加“葡萄牙,29天以上”和“西班牙29天以上”选项以及“葡萄牙,1至6天”和“西班牙1至6天” '将被删除。
Amount: <input type="text" id="amountofdays" />
<select id="destination" name="destination" size="1">
<option value=""> </option>
<option value="Brazil">Brazil</option>
<option value="China">China</option>
<option value="Portugal, 1 – 6 days">Portugal, 1 – 6 days</option>
<option value="Portugal, 7 – 28 days">Portugal, 7 – 28 days</option>
<option value="Portugal, 29+ days">Portugal, 29+ days</option>
<option value="Spain, 1 – 6 days">Spain, 1 – 6 days</option>
<option value="Spain, 7 – 28 days">Spain, 7 – 28 days</option>
<option value="Spain, 29+ days">Spain, 29+ days</option>
</select>
$("#amountofdays, #destination").change(function() {
var amountofdaystotal = document.getElementById("amountofdays").value;
if ((amountofdaystotal) <= (29)) {
var selectobject=document.getElementById("destination")
for (var i=0; i<selectobject.length; i++){
if (selectobject.options[i].value == 'Portugal, 29+ days' ||
selectobject.options[i].value == 'Spain, 29+ days')
selectobject.remove(i);
}
}
});
这里是的jsfiddle: https://jsfiddle.net/pele09/xpg6sfga/8/
请谁能帮助?
感谢
因此,您希望在下拉菜单中显示与输入金额等于或大于天数的选项?巴西和中国呢? –
嗨乔伊,所有的选项需要保持距离的天数是太大或太少。例如,如果用户输入30以下将在下拉菜单中显示: 巴西 中国 葡萄牙,1 - 2天 葡萄牙,7 - 28天 西班牙,1 - 2天 西班牙,7 - 28天 如果将葡萄牙,29天以上和'西班牙29天以上'的价值更改为5,葡萄牙,1 - 6天和'西班牙1 - 6天'将被删除。 – pele09