javascript - 使用 jQuery 从隐藏字段中的字符串中删除值

标签 javascript jquery

我有一个隐藏字段,用于存储已为特定帖子上传的所有图像 ID。

隐藏字段 HTML 看起来像这样:

<input type="hidden" id="post_images" name="post_images" value="1,2,3,4,5" />

当图像从帖子中删除时,我需要从隐藏字段中删除它的 image_id。因此,如果我从帖子中删除 image_id 4,则隐藏字段需要更新为 value="1,2,3,5"

如果有更好的方法,我愿意将帖子的 image_id 存储方式更改为不同的格式。

最佳答案

虽然你可以使用这个肮脏的正则表达式:

$("#post_images").val(function(i, v) {
    return v.replace( new RegExp('(?=(?:^|,))(,?)' + id + '(?=(?:,|$)),?'), '$1' );
});

这是 fiddle :http://jsfiddle.net/43hhs/

<小时/>

更明智的方法是使用数组拼接:

$("#post_images").val(function(i, v) {
    var values = v.split(','),
        i = $.inArray(id.toString(), values);

    if ( i != -1 ) {
        values.splice(i, 1);
        return values.join(',');
    }
    else {
        return v;
    }
});

这是 fiddle :http://jsfiddle.net/khHPq/

关于javascript - 使用 jQuery 从隐藏字段中的字符串中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566865/

相关文章:

javascript - 如何从已加载的图像 (<img>) 创建 HTML 5 文件?

javascript - 了解 Express.js 中的中间件和路由处理程序

javascript - 在按键上,在 X 秒调用函数后停止

javascript - Jquery添加类后如何应用css?

javascript - 简化 jQuery 代码 - Slide 和 SlideToggle

javascript - 如何在 NodeJS/Express 应用程序中隐藏凭据?

jquery - 在悬停时启用更改图像,然后根据处于事件状态的类禁用 jquery

jquery - 淡出父级 DIV - 但不淡出子级

javascript - Bootstrap typeahead 不适用于从 php 页面检索的动态数组

javascript - 在javascript中替换url中的查询字符串