我有選擇&選項是這樣的:JQuery的比較選項與跨度值,如果真認沽期權以禁用
<select id="vari" name="variation" data-variation="US Shoe Size (Men's)">
<option id="var8">8</option>
<option id="var8.5">8.5</option>
<option id="var9">9</option>
<option id="var9.5">9.5</option>
<option id="var10">10</option>
<option id="var10.5">10.5</option>
<option id="var11">11</option>
<option id="var11.5">11.5</option>
<option id="var12">12</option>
<option id="var13">13</option>
<option id="var14">14</option>
</select>
和例如(隱藏的範圍)是這樣的:
<span class="get">8</span>
<span class="get">8.5</span>
想找到所有選項並與量程值進行比較。 如果某些選項具有與類get相同的值(例如)該值可以更改(我創建了跨度) 它將禁用該選項。 但它禁用所有的問題。
$('#vari').find('option').each(function() {
var x = $(this).val();
var y = $('.get').text();
if(x = y){
this.disabled=true;
}
});
這裏出了什麼問題?
解決方案:::
$('#vari').find('option').each(function() {
x = $(this).val();
disable = true;
$('.get').each(function() {
if(x === $(this).text()){
disable = false;
}
});
if(disable){
$(this).prop('disabled', true);
}
});
我認爲這不是一個好主意,在每個'option'迭代掃描所有'.get'元素。我發佈的解決方案速度提高了2倍--3倍;) –