我們正試圖讓一個下拉框變成另一個。我們有這個代碼可以在Firefox,safari和chrome上正常工作。但在IE 8+中,第一個下拉菜單對第二個下拉菜單沒有影響。我們必須改變以使其在IE中工作?謝謝,爲什麼JQuery不改變IE中的選擇選項?
我們有這個jQuery:
//set up the global variable maxChecks which stops donor ticking too many boxes
var maxChecks
var checkCount=0
var boxeschecked = 0
//now change the drop down
jQuery.noConflict();
jQuery(document).ready(function($) {
$(function() {
$("#json-one").change(function() {
if ($(this).val() >= "1") {
$("#hide1").slideDown("fast"); //Slide Down Effect
}
var $dropdown = $(this);
var key = $dropdown.val();
var vals = [];
switch(key) {
case '1': document.getElementById("t3").innerHTML ="<option value=2>£2.50 per month</option>, <option value=3>£30 per year</option>, <option value=1>A single donation of £30</option>"; maxChecks=1; boxeschecked=0; checkCount=0; document.getElementById("nsdiv").innerHTML =""; for (var i = 0; i < 1 ; i++) {document.getElementById("nsdiv").innerHTML +='<input type="hidden" name="childid[]" value="newchild" checked>';} break;
case '2': document.getElementById("t3").innerHTML ="<option value=5>£5 per month</option>, <option value=4>£60 per year</option>, <option value=22>A single donation of £60</option>"; maxChecks=2; boxeschecked=0; checkCount=0; document.getElementById("nsdiv").innerHTML =""; for (var i = 0; i < 2 ; i++) {document.getElementById("nsdiv").innerHTML +='<input type="hidden" name="childid[]" value="newchild" checked>';} break;
case 'base': vals = ['-'];
}
$jsontwo.empty();
});
});
});
,這是HTML:
<select id="json-one" name="json-one">
<option selected value="base">Please select</option>
<option value="1">1 child</option>
<option value="2">2 children</option>
</select>
<!-- this select box will be hidden at first -->
<div style="display:none;" id="hide1">
By donating <select id="t3" name="t3"><option>-</option></select>
</div>
什麼是' $ jsontwo'?聲明你的前三個變量後,你也錯過了結尾的分號。 – j08691 2012-07-16 20:57:05
它應該被選中,而不僅僅是選中。 – 2012-07-16 21:01:51
謝謝你!非常有用 – oliver 2012-07-16 21:25:45