根据下拉列表中选择的数字,我在IE中遇到了一个克隆表单元素块的问题。如果在下拉列表中选择了3,我想重复问题块并操纵名称属性,以使它们对每个块都是唯一的。这适用于Chrome,FF等,但不适用于IE7和IE8。
编辑,结果证明它特定于IE7和IE8:here's a 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中,如下所示:
<span class="questions_clonable hidden">
答案 0 :(得分:0)
如果您只是使用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()目前不支持更改事件: 目前不支持:模糊,焦点,鼠标中心,鼠标离开,更改,提交docs.jquery.com/Events/live
您是否可以尝试使用livequery? docs.jquery.com/Plugins/livequery
编辑 - 或者尝试使用.on()事件而不是.live(),demo