Javascript 在选择框中检查重复条目
以下函数将动态地将新选项值添加到选择框中。这是一个很好的功能,但在向选择框中添加新选项之前,它不会考虑并检查重复条目。如何修改代码,以提醒用户发现重复条目并中止添加相同的选项值:Javascript 在选择框中检查重复条目,javascript,Javascript,以下函数将动态地将新选项值添加到选择框中。这是一个很好的功能,但在向选择框中添加新选项之前,它不会考虑并检查重复条目。如何修改代码,以提醒用户发现重复条目并中止添加相同的选项值: function addref() { var value = document.getElementById('refdocs').value if (value != "") { var select = document.getElementById('refdocs_list');
function addref() {
var value = document.getElementById('refdocs').value
if (value != "") {
var select = document.getElementById('refdocs_list');
var option = document.createElement('option');
option.text = value
select.add(option,select.option)
select.selectedIndex = select.options.length - 1;
}//end of if
}//end of function
演示:
这会起作用。这会增加您可能希望以不同方式进行操作的值和选项
<html>
<head>
<script type="text/javascript">
var values = new Array();
var options = new Array();
if(!Array.prototype.indexOf) {
Array.prototype.indexOf = function(needle) {
for(var i = 0; i < this.length; i++) {
if(this[i] === needle) {
return i;
}
}
return -1;
};
}
function getOptions() {
var selectobject=document.getElementById("refdocs_list");
for (var i=0; i<selectobject.length; i++){
values.push(selectobject.options[i].value);
options.push(selectobject.options[i].text);
}
}
function addref() {
var value = document.getElementById('refdocs').value
if (value != "" && values.indexOf(value) == -1 && options.indexOf(value) == -1 ) {
values.push(value);
options.push(value);
var select = document.getElementById('refdocs_list');
var option = document.createElement('option');
option.text = value
select.add(option,select.option)
select.selectedIndex = select.options.length - 1;
}//end of if
}//end of function
</script>
</head>
<body onload="getOptions()">
<select id="refdocs_list">
<option value="1">test</option>
</select>
<input type="text" id="refdocs"/>
<input type="button" value="add" onclick="javascript:addref()" />
</body>
</html>
var值=新数组();
var options=新数组();
if(!Array.prototype.indexOf){
Array.prototype.indexOf=函数(指针){
for(var i=0;i演示:
这会起作用。这会增加您可能希望以不同方式进行操作的值和选项
<html>
<head>
<script type="text/javascript">
var values = new Array();
var options = new Array();
if(!Array.prototype.indexOf) {
Array.prototype.indexOf = function(needle) {
for(var i = 0; i < this.length; i++) {
if(this[i] === needle) {
return i;
}
}
return -1;
};
}
function getOptions() {
var selectobject=document.getElementById("refdocs_list");
for (var i=0; i<selectobject.length; i++){
values.push(selectobject.options[i].value);
options.push(selectobject.options[i].text);
}
}
function addref() {
var value = document.getElementById('refdocs').value
if (value != "" && values.indexOf(value) == -1 && options.indexOf(value) == -1 ) {
values.push(value);
options.push(value);
var select = document.getElementById('refdocs_list');
var option = document.createElement('option');
option.text = value
select.add(option,select.option)
select.selectedIndex = select.options.length - 1;
}//end of if
}//end of function
</script>
</head>
<body onload="getOptions()">
<select id="refdocs_list">
<option value="1">test</option>
</select>
<input type="text" id="refdocs"/>
<input type="button" value="add" onclick="javascript:addref()" />
</body>
</html>
var值=新数组();
var options=新数组();
if(!Array.prototype.indexOf){
Array.prototype.indexOf=函数(指针){
for(var i=0;i 对于(var i=0;i遍历现有选项并检查它们是否等于新选项。如果不等于,则添加i如何操作?很抱歉,这里是一个非常业余的javascripter。@JohnSmith下面的链接显示了如何使用javascript迭代选择,请归功于nathan hayfield的查找:遍历现有选项并检查它们是否等于新选项。@选项。如果没有,那么添加它您是如何做到的?很抱歉,这里是一个非常业余的javascripter。@JohnSmith下面的链接显示了如何使用javascript迭代select,这要归功于nathan hayfield的查找: