第一个列表中填充了<option>
个分支。母亲分支。
现在第二个清单是空的。
然后用<div>
的容器填充所有母分支的所有子分支<option>
。他们中有很多人。但是这个容器是隐藏的。
我编写了jQuery代码,用于选择匹配元素的集合,这些元素是所选母分支的子元素,并将它们克隆到子分支列表中。
检查此小提琴以查看其实际效果:http://jsfiddle.net/mostafatalebi/6WQ9x/
以下是JavaScript代码:
$(document).ready(function(){
$('#branches').on('change', function(){
var branch = $(this).val();
var subholder = $('#subbranch-holder');
// $('#sub').empty();
$('#sub').html("<option value='false'>انتخاب زیر شاخه ها</option>");
// console.log(subholder.children('option').length);
subholder.children('option').each(function(){
if($(this).attr('id') == 'par'+branch) {
var tempItem = $(this);
// $("#sub").append('this is : ');
$(this).clone().appendTo("#sub");
}
});
});
});
它适用于IE以外的所有地方。
有趣的一点是当我把以下行而不是clone()
时,IE工作:
$("#sub").append('IE is the worst browser');
IE似乎与$(this)
和clone()
旧版本的jQuery已经过测试。所有人都有同样的问题。
答案 0 :(得分:2)
我找到了这个问题的答案。
似乎<option>
的行为与另一种行为截然不同。
我所做的是,我使用<input>
标签而不是标签,用“子”分支的ID填充“value”属性,并填充“id”属性,并带有子分支的parent_id用“par”字符串,最后用“name”属性填充子分支的标题。相应地,我在jQuery中检索它们并且它有效。
所有这些努力都是为了适应IE8,其使用非常有限,但客户仍然坚持。