2014-03-19 73 views
4

如何獲得click事件的值流星的js 例如,我想{{名}}這value.Here是把我的代碼,它顯示* 未定義 *在警報box.Please驗證和建議我。如何獲取流星js中的點擊事件的價值?

client JS: 
Template.client.events({ 
    'click .clientrow':function(e,t){ 

     console.log("You Select Client Row "); 
     e.preventDefault(); 
     alert($(e.target).closest('tr').data('_id')); 

    } 
}); 
template: 
<template name="client"> 
<tbody> 
    {{#each clientList}} 
    <tr class="clientrow"> 
     <td data-id="{{_id}}">{{cid}}</td> 
     <td>{{mrno}}</td> 
     <td>{{client}}</td> 
     <td>{{formatDate rdate}}</td> 
     <td>{{referredby}}</td> 
     <td>{{clinecian}}</td> 
     <td>{{serviece}}</td> 
     <td>{{episode}}</td> 
     <td>{{actions}}</td> 
    </tr> 
    {{/each}}    
    </tbody> 
</template> 
+0

你是什麼意思的價值?您可以通過回撥訪問整個事件並選取您需要的數據。 –

+0

我正在顯示用戶輸入值從表中獲取收集確定它正在工作,但我希望在表格行中,如果我們單擊表格行中的用戶名稱顯示該名稱在警報框中@ Hubert OG – Nareshy

+0

上面我的代碼被放置請驗證我在哪裏做了一個錯誤告訴我@ Hubert OG – Nareshy

回答

7

您可以輕鬆地訪問被點擊的元素:

'click .something': function(e, t) { 
    $(e.target); 
} 

現在,如果你想存儲在被點擊一個行的數據,你可以很容易地將其與data HTML參數

訪問

{{#each items}} 
    <tr data-name="{{name}}" data-id="{{_id}}">...</tr> 
{{/each}} 

之後,從該行提取它

9

有一個更簡單和更清潔的方法。在事件處理程序this內部引用Handlebars模板上下文,它實際上是您的clientList對象。所以你可以這樣做:

Template.client.events({ 
'click .clientrow':function(e,t){ 

    console.log("You Select Client Row " + this.client); 
    alert(this.mrno + ' ' + this.client); 

} 
}); 
+0

這是正確的答案。 – Sauce

相關問題