javascript - 获取同级文本输入值

标签 javascript jquery html

我有以下 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);

    }

编辑

这是我使用的框架 (Meteor.js) 和“this”范围的问题

最佳答案

试试看

https://jsfiddle.net/zy7qy3v5/3/

$('button').click(function(){
    var value = $(this).siblings('input').val();
    alert(value);
})

不要在 siblings 函数中放置不必要的 jquery 对象。您的选择器返回所有 sibling 。

$('button').siblings('input')  //Returns 1 element

不一样

$(this).siblings($('input[id="username_field"]'))   //Returns 2 element

参见 https://jsfiddle.net/8x04nbyx/5/

关于javascript - 获取同级文本输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955085/

相关文章:

javascript - 弹出窗口的 Jquery 关闭问题

javascript - 如何改变html文本任意部分的样式

javascript - 使用 HTML5 Canvas 的更高 DPI 图形

javascript - 无法重写 XMLHttpRequest 上的 getResponseHeader 方法

javascript - jQuery 替换删除 IE 中的换行符

javascript - 如何在 webpack 中包含多个版本的 jquery

javascript - 使用 jQuery 对表列的值求和

javascript - 无法运行 Javascript 函数

javascript - 上下文丢失。设置超时

javascript - JQuery 不删除添加的元素