2013-07-15 33 views
0

嗨的HTML5屬性的錶行說,我有以下的HTML:jQuery的顯示根據選中的複選框

<input type-checkbox [email protected][i].Id /> 

<table> 
    @for(var i=0; i < @Model.TestDtos[i].Count; i++) 
    { 
    <tr class="hidden" [email protected][i].Id>Show some stuff</tr> 
    } 
</table> 

所以我想,使其當與匹配數據 - 複選框檢查testid值,表格行變爲可見。

我想:

if ($(this).is(":checked")) { 

     var testid = $(this).data('testid'); 
     $("tr[data-testid=testid").show(); 
    } 

問題是IDE是說,testid從未使用過。我不確定如何從複選框data-testid中獲取值,並使用它查找要顯示的正確行。

+0

我想你想刪除隱藏類,不只是使用show()方法 –

回答

3

testid是一個變量,所以你需要使用此字符串連接

$('tr[data-testid="' + testid + '"]').show() 

演示:Fiddle

但是你真正需要的可能是

$(':checkbox').click(function(){ 
    var fn = this.checked ? 'show' : 'hide'; 
    var testid = $(this).data('testid'); 
    $('tr[data-testid="' + testid + '"]')[fn](); 
}) 

演示:Fiddle

+0

我喜歡fn代碼。不知道你可以做到這一點。謝謝。 – user2005657

1

您需要使用字符串連接來使用你的變量。您還缺少選擇器末尾的方括號。試試這個:

$("tr[data-id='"+testid+"']").show(); 
相關問題