red*_*ess 2 html javascript jquery
我有以下HTML
<li class='user_attributes'><b>username: </b>{{username}}
<input class='user_input form-control edit_fields {{_id}}' id='username_field' type="text" name='username' placeholder="username">
<button type="submit" class="btn btn-default submit_button edit_fields {{_id}}" id='update_username'>update</button>
</li>
Run Code Online (Sandbox Code Playgroud)
并且我想在每次<li>单击提交按钮时获取输入字段的值(而不是具有相同名称的其他输入字段的值).
我有以下jQuery,但所有它返回undefined:
'click #update_username': function(ev, template){
ev.preventDefault();
// var username_field = template.$('input[id="username_field"]').val();
// var username_field = $(ev.target).find('[name = message]').val();
var input_field = $(this).siblings($('input[id="username_field"]')).val();
console.log(input_field);
// Meteor.call('updateUsername', this._id, username_field);
}
Run Code Online (Sandbox Code Playgroud)
编辑
这是我使用的框架问题(Meteor.js)和'this'的范围
Sim*_* ML 11
试试吧
https://jsfiddle.net/zy7qy3v5/3/
$('button').click(function(){
var value = $(this).siblings('input').val();
alert(value);
})
Run Code Online (Sandbox Code Playgroud)
不要在兄弟姐妹函数中放置一个不必要的jquery对象.你的选择器正在返回每个兄弟姐妹.
$('button').siblings('input') //Returns 1 element
Run Code Online (Sandbox Code Playgroud)
是不一样的
$(this).siblings($('input[id="username_field"]')) //Returns 2 element
Run Code Online (Sandbox Code Playgroud)
见https://jsfiddle.net/8x04nbyx/5/
| 归档时间: |
|
| 查看次数: |
6527 次 |
| 最近记录: |