2012-09-24 49 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); 
});