2015-05-18 40 views
0

我有一個表,並在每個TD我已經指定href標記一樣,這選擇錨標記文本具有多個錨

<tbody data-bind="foreach: binddetails"> 
    <tr>       
     <td><a class="info_link" data-bind="text: Status"></a></td> 
     <td class="text-right"><a data-bind=" text: Count.toFixed(0)"></a></td> 
     <td class="text-right"><a data-bind=" text: Total.toFixed(0)"></a></td> 
    </tr> 
</tbody> 

當我點擊我需要的價值鏈接特別是td。我寫了jQuery方法來獲取文本,但我得到空值。

$(function() { 
    $('.info_link').click(function() { 
     alert($(this).text()); 
    }); 
}); 
+0

返回null,因爲的.text()返回標籤之間的文本 – Riddler

回答

0

,如果你想這是每一個TD內(如你在你的問題)的文本,你可以這樣寫:

$('td').click(function() { 
    alert($(this).text()); 
}); 

,如果你想這是每一個內的文本標籤(這就是你的代碼是試圖做),你可以這樣寫:

$('td>a').click(function() { 
    alert($(this).text()); 
}); 

反正你有TD內沒有或要顯示什麼,從而可以提醒。 如果你的代碼是這樣的,你會得到一個值:

<td>dummy<a class="info_link" data-bind="text: Status"></a></td> 

將只在第一個選項返回一個值(返回TD值)。 如果你的HTML是這樣的,你會得到一個值與兩個代碼:

<td><a class="info_link" data-bind="text: Status">Dummy.</a></td> 

在這兩種情況下,你會得到「虛擬」的警告值。

+0

​​Active ---這是我得到的呈現的html。希望有標記之間的值,但它仍然返回空值 –

+0

@Regent是啊你在JSFiddle中顯示了輸出。這就是我的預期..但即使在我實現它的時候,我仍然沒有看到它。 –

1

你能解決這個沒有jQuery的,就像這樣:

function YourViewModel() { 
    //binddetails... 
    this.showStatus = function (details) { 
     alert(details.Status()); 
    } 
}; 

HTML:

<tbody data-bind="foreach: binddetails"> 
    <tr>       
     <td><a class="info_link" data-bind="text: Status, click: $root.showStatus"></a></td> 
     <td class="text-right"><a data-bind=" text: Count.toFixed(0)"></a></td> 
     <td class="text-right"><a data-bind=" text: Total.toFixed(0)"></a></td> 
    </tr> 
</tbody>