如果选择框已在其他框中选中,则从该框中删除选项
Remove options from select box if it is already selected in onother
我有一个表单。用户单击添加按钮为该状态添加另一个状态+文本框。当人们在第一个框中选择一个状态时,我希望将其从可能添加的任何其他选择框中删除,这样就无法再次选择它。
<form action=state.php method=post>
<a href="javascript:addElement();" style='color:blue; text-decoration:underline;'>Add a State </a>
<a href='javascript:removeElement();' style='color:blue; text-decoration:underline;' >Remove </a><br /><br />
<script type="text/javascript">
var intTextBox=0;
//FUNCTION TO ADD TEXT BOX ELEMENT
function addElement() {
intTextBox = intTextBox + 1;
var contentID = document.getElementById('addresscontent');
var newTBDiv = document.createElement('div');
newTBDiv.setAttribute('id','strText'+intTextBox);
newTBDiv.innerHTML = "<select id='u" + intTextBox + "' name=b_state[" + intTextBox + "][statename]/><option value=''>Select a State</option><option value='AK'>AK</option><option value='AL'>AL</option><option value='AR'>AR</option><option value='AS'>AS</option><option value='AZ'>AZ</option><option value='CA'>CA</option></select> <span style='font-size:12px;'>URL (if different) </span><input style='border:1px solid black; ' size=60 type='text' id='u" + intTextBox + "' name=b__state[" +intTextBox + "][url] /><br>";
contentID.appendChild(newTBDiv);
}
//FUNCTION TO REMOVE TEXT BOX ELEMENT
function removeElement() {
if(intTextBox != 0) {
var contentID = document.getElementById('addresscontent');
contentID.removeChild(document.getElementById('strText'+intTextBox));
intTextBox = intTextBox-1;
}
}
</script>
<div id="addresscontent"></div>
</div>
<input type=submit value='go'>
以下是您需要的步骤:
1) 将所有相关的选择字段收集到节点列表中:document.getElementById("myBigForm").getElementsByTagName("select");
2) 现在您需要循环浏览这些选择字段。对于每个选择字段,您需要循环浏览选项元素
3) 如果选项包含某个值,则执行删除子项。
var removeState = function (x) {
"use strict";
var a = document.getElementById("myBigForm").getElementsByTagName("select"),
b = a.length,
c = 0,
d = [],
e = 0,
f = 0;
for (c = 0; c < b; c += 1) {
d = a[b].getElementsByTagName("option");
e = d.length;
for (f = 0; f < e; f += 1) {
if (d[f].value === x) {
a[b].removeChild(d[f]);
break;
}
}
}
};
相关文章:
- 带有预览和删除选项的图像上传-Javascript/Jquery
- 从dojo comboBox中删除选项
- 在 IE 中从 DOM 中删除选项时,滚动选择元素会跳到顶部
- 如何从选择 jsp 上的映射中删除选项
- 如何使用fine Uploader通过删除选项将上传的文件名传递到服务器端
- 如果选择框已在其他框中选中,则从该框中删除选项
- 使用jQuery的预览和删除选项上传多个图像
- 从选项卡面板中删除选项卡
- 从“按值选择”中删除选项
- jquery检查字符串是否已从文本区域删除,并从select中删除选项
- 修改googlechrome扩展以删除选项卡
- Jquery,从下拉列表中删除选项不起作用
- HTML选择框,通过javascript删除选项'无'选项出现
- 要添加的搜索功能&从select下拉列表中删除选项
- Javascript-动态网格花式删除选项
- 基于下拉选择从从属下拉列表中删除选项
- 上传文件与大小和删除选项在Javascript
- 两个选择-删除选项的一个基于另一个
- 通过焦点切换在TabPanel中添加和删除选项卡
- 删除选项绑定:如果选项被选中,如何从弹出框中动态删除选项