繁体   English   中英

jQuery .val()未设置值

[英]jQuery .val() not setting value

$('.remove-member').click(function () {
    var toRemove = $(this).parent().text().slice(0, -1);
    var members = $(this).parent().siblings('input[name=group-members]').val().split(' ');
    $(this).parent().remove();
    removeElement(members, toRemove);
    members = members.join(' ');
    $(this).parent().siblings('input[name=group-members]').val(members);
});

在上面的,一切正常,直到最后一行(其值设置为包含在字符串members )。 在控制台中显示变量members将显示预期的字符串,表示$(this).parent().siblings('input[name=group-members]')正在正确遍历DOM。 我的HTML如下:

<form method='POST' action='action.php'>
    <input type='text' value='[ GROUP NAME GOES HERE ]' name='group_name' />
    <input type='text' name='add-member' />
    <div class='group_member'>name01<span class='remove-member'>x</span>
    </div>
    <div class='group_member'>name02<span class='remove-member'>x</span>
    </div>
    <div class='group_member'>name03<span class='remove-member'>x</span>
    </div>
    <div class='group_member'>name04<span class='remove-member'>x</span>
    </div>
    <input type='text' value='name01 name02 name03 name04' name='group-members' />
    <input type='Submit' value='Update' />
</form>

由于页面的性质,不能直接引用$('input[name=group-members]')

removeElement函数:

function removeElement(arr) {
    var what, a = arguments,
        L = a.length,
        ax;
    while (L > 1 && arr.length) {
        what = a[--L];
        while ((ax = arr.indexOf(what)) !== -1) {
            arr.splice(ax, 1);
        }
    }
    return arr;
}
$('.remove-member').click(function () {
    var toRemove = $(this).parent().text().slice(0, -1);
    var members = $(this).parent().siblings('input[name=group-members]').val().split(' ');
    $(this).parent().remove();
    removeElement(members, toRemove);
    members = members.join(' ');
    $(this).parent().siblings('input[name=group-members]').val(members);
});

您正在删除父级。

$(this).parent().remove();

所以打电话。

$(this).parent().siblings('input[name=group-members]').val(members);

应该不再工作了,因为您刚刚杀死了包含的DOM节点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM