2012-09-24 19 views
0

如果用户检查表单复选框,我想创建一个新的div。动态数据从ajax和php加载。我在问如何用JS或jQuery创建它。一个简化的版本看起来像构建div JS或jQuery中包含的JS函数来自ajax和php数据

<div id="ajaxSRC1" class="CLASS"> 
    <a href="javascript:void(0)" onmouseover="return myFunction('ajaxSRC5', 'ajaxSRC6')"> 
     <img src="ajaxSRC2" width="ajaxSRC3" height="ajaxSRC4" alt="..." /> 
    </a> 
</div> 
+0

没什么,我读过如何处理ID,等级,宽度,高度,但我不知道怎么用的onmouseover功能做。我正在考虑在服务器端创建这个,或许更好,用整个代码的输出缓冲区创建一个var并将它传递给JS。无论如何,我不知道如何处理它。 – dstonek

+0

你可以发布你的ajax代码吗? – timidboy

+0

是的。这很简单。 (成功)(function)(obj){'.ajax'{' 'type:'post',' 'url:'test.php?id = 52454' ' 'alert(obj.ajaxSRC1); //显示此var,与其他人相同\t' \t'}' '});' – dstonek

回答

1

尝试这种情况:

里面的复选框单击处理程序:

$.ajax({ 
    type : 'post', 
    url : 'test.php?id=52454', 
    dataType : 'json', 
    success : function (obj) { 

     //construct and create the element 
     var content = $('<div id="' + obj.ajaxSRC1 + '" class="CLASS">' 
        + '<a href="#">' 
        + '<img src="'+obj.ajaxSRC2+'" width="'+obj.ajaxSRC3+'" height="'+obj.ajaxSRC4+'" alt="..." />' 
        + '</a></div>'); 

     // bind mouseover event to the anchor tag 
     content.find('a').mouseover(function() { 
      myFunction(obj.ajaxSRC5, obj.ajaxSRC6); 
      return false; // alternative to href="javascript:void(0)" 
     }); 

     // append the newly created div to DOM 
     divContainer.append(content); 

    } 
}); 
+0

谢谢。我正在做。是否有可能在服务器上构建div并将其传递给JS以附加div。我试了一下,但无法获得缓冲区变量。也许它需要某种序列化。 – dstonek

+0

我终于使用.on()来处理事件。谢谢。 – dstonek

0

第一,不要使用内联JS,使用外部脚本文件
第二,DIV可以用jQuery像这样

$('<div id="dataContainer" />'); 

只需添加这对创建事件,例如:

$('#checkbox').click(function(){ 
    $('<div id="dataContainer" />').html(ajaxSRC5); 
});