这段代码在Opera中运行,问题是IE和Android。
使用hiden()
javascript。第一选项使用价值马自达(马克)第二显示我们'歌剧':只有所有型号MAZDA(很好)。 'IE':向我们展示所有模型和所有optgroup。也许是JS问题?
$(document).ready(function() {
$('#model optgroup').hide();enter code here
$('#Marka').change(function() {
var text = $(this).val();
$('#model optgroup').hide();
$('#model').val('');
$('#model optgroup[label="' + text + '"]').css({
'display': 'block'
});
});
});
function usun() {
document.getElementById("first").style.display = "none";
}
答案 0 :(得分:0)
HTML(jsfiddle)中存在一些错误:请注意为不同的ID使用不同的值。不能存在两个或多个具有相同ID的元素。
我建议您的解决方案是保存并删除文档准备好的选择组,然后根据选择附加正确的选项组:
var optGroup = {};
$(function () {
// remove from second list all optgroup and save them in a global variable
$('#model optgroup').each(function(index, element) {
optGroup[element.label] = {'optGroup': element};
$('#model optgroup:eq(0)').remove();
});
$('#Marka').change(function(){
// remove the attached optgroup
$('#model optgroup').remove();
// search for the saved optgroup and attach it to the select
$(optGroup[this.value].optGroup).appendTo('#model');
$('#model optgroup option:selected').removeAttr("selected");
$('#first2').prop('selected', true);
});
});

<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<select id="Marka" name="marka_auta">
<option id="first1" >Marka:</option>
<optgroup label="Marka Auta:">
<option value="audi" >Audi</option>
<option value="mazda" >Mazda</option>
</optgroup>
</select>
<select id="model" name="model_auta">
<option id="first2" disabled selected>Model:</option>
<optgroup id="models1" label="mazda">
<option>RX-8</option>
<option>323F</option>
<option>6</option>
</optgroup>
<optgroup id="models2" label="audi">
<option>A6</option>
<option>R8</option>
<option>A4</option>
</optgroup>
</select>
&#13;