根据在下拉列表中选择的数字,我对IE的IE有一个问题。如果在下拉列表中选择了3,我想重复问题块并操纵名称属性,以使它们在每个块中都是唯一的。这在Chrome,FF等中很好地工作,但在IE7和IE8中不行。
编辑,事实证明它特定于IE7和IE8:这是JSFIDDLE
这是我的代码,我正在做的事情IE有问题吗?当前发生的所有事情是IE显示" null",而不是应该出现的每个块。谢谢你的帮助。
// Dropdown select
$('#quantity').live("change", function(){
$('.questions_clonable:not(:first)').remove();
// Get value of selection
var num = $(this).val();
var cloned_el = $('.questions_clonable').clone();
if (num > 1)
{
for (var i = 1; i < num; i++)
{
// Assign cloned block to new var
var new_block = cloned_el;
// Bit of a workaround needed to clone properly, reiterating class name
$('.multiple_questions_container').append('<span class="questions_clonable hidden">'+new_block.html()+'</span>');
}
}
});
形式元素包裹在跨度中,如下:
<span class="questions_clonable hidden">
如果您只是使用cloned_el来获取HTML,为什么不代替做
var cloned_el = $('.questions_clonable').clone();
,然后
var new_block = cloned_el;
仅致电new_block.html(),您要这样做:
var new_block_html = $('.questions_clonable').html();
然后,您只需引用new_block_html。
如果您也可以发布标记可能会有所帮助,那么显然,如果有任何ID会导致一些错误。
$。live()当前不支持变更事件:目前不支持:Blur,Focus,MouseEnter,Mouseleave,更改,提交docs.jquery.com/events/live
您可以尝试使用LiveQuery吗?docs.jquery.com/plugins/livequery
编辑 - 或者尝试使用.on()事件而不是.live(),demo