jquery追加乘法数组

时间:2010-08-01 09:51:06

标签: jquery

这个我的代码在数组中我应该在表中创建树状菜单

$myqueryPO->magGrp = array("[grp] => MAIN, [grp] => P1,  [grp] => P3")
foreach ( $myqueryPO->magGrp as $dataArray) {
$myGroup = $dataArray[] = $dataArray['grp'];
    <tr class="'.$myGroup.'">
        <td><a href="#" id="'.$myGroup.'" class="clickMEdata">'.$myGroup.'</a></td>
        <td></td>
    </tr>

}


$(function($) {
$(".clickMEdata").click(function(){
var eleMent = $(this);
var mySelected = eleMent.attr("id");
var info = "myID=" + mySelected;
$.ajax({
type: "POST",
url: "ScheduleOfManPower.php",
data: info,
success: function(data){    
var loadUrl = "ScheduleOfManPower.php";
 $("."+mySelected).append().load(loadUrl, info);
}
});
$("."+mySelected).toggle("slow");
});
}); 

应该是ScheduleOfManPower.php是<tr><td>hi</td><td>foo</td></tr>我的问题似乎我的追加功能不起作用我的表不符合我的预期它在第一<td></td>我唯一的查询我的第二个问题是{{ 1}}似乎我需要双击按顺序从我显示我的查询.. :(

2 个答案:

答案 0 :(得分:1)

我不确定这个问题应该发生什么,但是你有一些问题。 $("."+mySelected).class选择器,而不是ID选择器。您希望按ID搜索:

 $("#"+mySelected)

但是没有必要,只需保留一个参考,如下:

$(function($) {
  $(".clickMEdata").click(function(){
    var eleMent = $(this);
    $.ajax({
      type: "POST",
      url: "ScheduleOfManPower.php",
      data: { myID: eleMent.attr("id") },
      success: function(data){
        eleMent.closest('tr').after(data);
      }
    });
    eleMent.toggle("slow");
  });
});

这有一些其他更改/修复,您可以将data作为一个对象,使其更清洁。如果你想附加返回的数据,你需要在data函数中使用success,调用.load()将触发另一个不同的AJAX请求,这没有多大意义,但是给你'重新加载两种方式,我不确定你到底是什么......但我认为上面就是它。

还有一个很大的变化,你在<tr>里面附加一个<a>根本没有效果,我改了它就把它作为下一行插入。这个我真的不确定,但它是唯一接近有效HTML的东西,所以请详细说明它是不是你所追求的。

答案 1 :(得分:0)

我明白了^^ ..谢谢你尼克

$(function($) {
$(".clickMEdata").toggle(
function(){
var eleMent = $(this);
var mySelected = eleMent.attr("id");
var myHuraFrom = eleMent.attr("huraUna");
var myHuraTO = eleMent.attr("huraTwo");
var info = "myID=" + mySelected+ "&MaHuraFrom="+myHuraFrom+ "&myHuraTO="+myHuraTO;
$.ajax({
type: "POST",
url: "ScheduleOfManPower.php",
data: info,
success: function(data){        
eleMent.closest("tr").after(data);
}
});                                     
},
function (){
$(".activity").hide();  
});
});