How to get the value of click event in meteor Js For example i want {{name}} this value.Here is put my code it showing *undefined*in alert box.Please verify and suggest me.
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>
How to get the value of click event in meteor Js For example i want {{name}} this value.Here is put my code it showing *undefined*in alert box.Please verify and suggest me.
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>
Share
Improve this question
edited Mar 19, 2014 at 10:34
Nareshy
asked Mar 19, 2014 at 9:35
NareshyNareshy
1331 silver badge9 bronze badges
3
- What do you mean by value? You can access the whole event in callback and pick the data you need. – Hubert OG Commented Mar 19, 2014 at 10:01
- I am displaying the user input values in table getting from collection ok it is working but i want in a table row if we click user name in a table row show that name in alert box@ Hubert OG – Nareshy Commented Mar 19, 2014 at 10:12
- Above my code is placed please verify and where i did a mistake tell me@Hubert OG – Nareshy Commented Mar 19, 2014 at 10:35
2 Answers
Reset to default 9You can easily access the element that was clicked:
'click .something': function(e, t) {
$(e.target);
}
Now, if you want the data stored in a row that was clicked, you can easily make it accessible with data
HTML parameters
{{#each items}}
<tr data-name="{{name}}" data-id="{{_id}}">...</tr>
{{/each}}
Afterwards, extract it from the row:
'click .something': function(e, t) {
alert($(e.target).closest('tr').data('name'));
}
There is a an easier and cleaner approach. Inside the event handler this
refers to the Handlebars template context, which is actually your clientList
object. So you could do something like:
Template.client.events({
'click .clientrow':function(e,t){
console.log("You Select Client Row " + this.client);
alert(this.mrno + ' ' + this.client);
}
});