2012-08-10 27 views
0

我正在加載一個tr onclick第一個tr,但問題是tr中的每個td都應該加載第二個div內的不同div。現在custdata內的內容正在加載,但是如何加載相應div內的內容?用custdata加載div

這裏是演示 http://jsfiddle.net/FMnTa/6/

+3

不明白 – Alp 2012-08-10 11:40:08

+0

我建議在帖子中加入一些標點符號,使其更容易理解。 – IvanL 2012-08-10 11:42:10

回答

1

我不知道這是否是你所要求的東西,但它似乎喜歡它。

$(function(){ 
    $(".info").find("img").click(function(){     
     var trid = $(this).parent().attr("idcust");     
     var trdata = $(this).parent().attr("custdata"); 
     // Hide all content divs and show only the one related to the click 
     $("#"+trid).children().hide(); 
     $(trdata).show(); 
     $("#"+trid).css("display","block"); 
    }); 
});​ 

這裏是一個小提琴,以及:http://jsfiddle.net/FMnTa/9/

代碼也可以一定程度上是這樣改進:

$(function(){ 
    $("img", ".info").click(function(){     
     var parent = $(this).parent(); 
     var trid = parent.attr("idcust");     
     var trdata = parent.attr("custdata"); 
     // Hide all content divs and show only the one related to the click 
     $("#"+trid).show().children().hide(); 
     $(trdata).show(); 
    }); 
});​ 

自定義數據屬性

當使用自定義屬性,你應該真的考慮使用custom data attributesdata-屬性)。在你的情況下,屬性將是data-idcustdata-custdata

然後,您可以使用jQuery的.data()來獲取/設置屬性。鑑於您的姓名data-idcust,您可以使用.data("custid")來讀取它,並將其設置爲.data("custid", "newValue")

+0

謝謝..這是我正在尋找的wat。但還有一件事是,爲什麼綠色td需要佔用很小的空間才能覆蓋整個tr?任何想法??另外,如果我第二次點擊相同的圖標,那麼它應該隱藏內容tr – Sowmya 2012-08-10 12:43:00

+0

@Sowmya好的,它在[this fiddle](http://jsfiddle.net/FMnTa/12/)中排序。請注意,我在CSS的末尾添加了一個額外的CSS規則,以便您能夠正常工作。 – 2012-08-10 13:33:39

0

請參見本發生什麼:

$(".info").find("img").click(function(){     
     var trid = $(this).parent().attr("idcust");     
     var trdata = $(this).parent().attr("custdata"); 
     $("#"+trid).show().find(trdata).css('border', '1px solid red'); 
     $("#"+trid).show().find(trdata).toggle(); 
    }); 

find(trdata)找到tr1 divid trdata