我有以下 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>
我想随时获取输入字段的值<li>
单击了提交按钮(而不是其他同名输入字段的值)。
我有以下 jQuery,但所有这些都返回未定义:
'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);
}
EDIT
这是我使用的框架(Meteor.js)和“this”范围的问题
Try that
https://jsfiddle.net/zy7qy3v5/3/ https://jsfiddle.net/zy7qy3v5/3/
$('button').click(function(){
var value = $(this).siblings('input').val();
alert(value);
})
不要在兄弟函数中放置不必要的 jquery 对象。您的选择器正在返回每个兄弟姐妹。
$('button').siblings('input') //Returns 1 element
不等于
$(this).siblings($('input[id="username_field"]')) //Returns 2 element
See https://jsfiddle.net/8x04nbyx/5/ https://jsfiddle.net/8x04nbyx/5/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)