2011-07-23 68 views
0

该功能用于插入特定的divjQuery的插入内容(Ajax)

$(".add_file_field").click(function() { 
    var qid = $(this).attr("rel"); 
    $(this).parent().before("<div id='p_holder'></div>"); 
    $("#p_holder").load("<?=site_url('survey/add_upload_field')?>", { 
     'qid': qid 
    }); 
    return false; 
}); 

它是通过点击链接在这个片段中引发

<span class="add_field_wrap"> 
    <a rel="31" class="add_file_field" href="http://domain.com/kms/#"> 
     Add another file 
    </a> 
</span> 

我怎样才能得到它插入一个文件上传字段在span.add_field.wrap之前的内容,即。而不指定将接收内容的特定容器?跨度和所有其他标记必须保留;重点是用户可以根据需要添加尽可能多的文件上传字段。

谢谢

+1

你的问题不是很清楚。 – ShankarSangoli

回答

2
$(".add_file_field").click(function(){ 
    var qid = $(this).attr("rel"); 
    var parent = $(this).parent(); 

    $.get("<?=site_url('survey/add_upload_field')?>", {'qid': qid }, function(data) { 
     $(parent).before(data); 
    }); 

    return false; 
}); 
+0

作品!非常感谢。 – stef

1

这是你想要的吗?

$('.add_field_wrap').before(required_html_content); 
0
$(".add_file_field").click(function(){ 
    var qid = $(this).attr("rel"); 
    $(this).parent().before("<div id='p_holder'></div>"); 
    $("#p_holder").load("<?=site_url('survey/add_upload_field')?>", {'qid': qid }, 
     function(data){ 
     $("span.add_field_wrap").insertBefore(data); 
    }) 
    return false; 
}); 
0

试试这个

$(".add_file_field").click(function(){ 
    var qid = $(this).attr("rel"); 
    if(!$("#p_holder").length){ 
     $(this).parent().before("<div id='p_holder'></div>"); 
    } 
    $.get("<?=site_url('survey/add_upload_field')?>", {'qid': qid }, 
    function(response){ 
     $("#p_holder").append(response); 
    }); 
    return false; 
});