选择下拉值而不是第一个索引的任何解决方案

时间:2014-12-29 13:31:32

标签: javascript jquery html

我有五个选项,其中包含相同的值。有没有办法选择选项标签的所有索引而不是第一个索引。

考虑这个js小提琴相同的



var duplicates = [];

function checkResult(){
var box1 = document.getElementById('box_g1');
var box2 = document.getElementById('box_g2');
var box3 = document.getElementById('box_g3');
var box4 = document.getElementById('box_g4');
var box5 = document.getElementById('box_g5');

var b1 = box1.options[box1.selectedIndex].value;
var b2 = box2.options[box2.selectedIndex].value;
var b3 = box3.options[box3.selectedIndex].value;
var b4 = box4.options[box4.selectedIndex].value;
var b5 = box5.options[box5.selectedIndex].value;
    
console.log(b1);
console.log(b2);
console.log(b3);
console.log(b4);
console.log(b5);    

var arr  = [b1,b2,b3,b4,b5];
var hash = [];

for (var n=arr.length; n--; ){
   if (typeof hash[arr[n]] === 'undefined' ) hash[arr[n]] = [];
   
    hash[arr[n]].push(n);
}

for (var key in hash){
    if (hash.hasOwnProperty(key) && hash[key].length > 1){
        duplicates.push(key);
    }
}

if(duplicates.length > 0){
    alert("duplicate found");
}else{
     alert("No duplicate");   
}
duplicates.length =0;    
}

<select name="n1" id="box_g1">
    <option value="Default">Default</option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
</select>
<br/>

<select name="n2" id="box_g2">
    <option value="Disabled">Disabled</option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
</select>
<br/>
<select name="n3" id="box_g3">
    <option value="Disabled">Disabled</option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
</select>
<br/>
<select name="n4" id="box_g4">
    <option value="Disabled">Disabled</option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
</select>
<br/>
<select name="n5" id="box_g5">
    <option value="Disabled">Disabled</option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    <option value="E">E</option>
</select>

<br/>
<br/>
<input type="submit" value="Check Result" onclick="checkResult();"/>
&#13;
&#13;
&#13;

我做了一些技巧。但无法确定是否可能。

对于box2,box3,box4和box5,如果用户选择&#39; Disbaled&#39;任何方框而不是方框1的选项。

将弹出一个弹出窗口:&#34;找到重复项目&#34;。

目前,如果我选择&#34;已停用&#34; 选项,则会显示找不到的重复内容,我不想要。

1 个答案:

答案 0 :(得分:0)

感谢您的回复。我改变了设计。