javascript - 修改隐藏输入中的json数组?

标签 javascript jquery html

我有一个隐藏的输入:

<input type="hidden" id="paidIds" name="paidIds" value="[]">

它以空数组作为其值开始。 我想从中添加和删除项目,但我不知道如何操作。
这是我到目前为止的代码:
附加:

var $paidIds = $('#paidIds').val();
$paidIds.push($id);
$('#paidIds').val($paidIds);

要删除:

var $paidIds = $('#paidIds').val();
var $index = paidIds.indexOf($id);
if($index != -1) {
    $('#paidIds').val().splice($index, 1);
}
$('#paidIds').val($paidIds);

到目前为止,问题之一是 $paidIds 在以下之后仍未定义:

var $paidIds = $('#paidIds').val(); 

不知所措,谷歌也没有帮助-__-

编辑 在调试器 $paidIds = [4] 中部分工作,但它没有设置该值。

var $paidIds = JSON.parse($('#paidIds').val());
$paidIds.push($id);
$paidIds = JSON.stringify($paidIds)
$('#paidIds').val($paidIds);

EDIT2修复了缺失的#

最佳答案

您需要将字符串转换为对象。

更改:

$('paidIds').val()

$('#paidIds').val()

尝试:

var $paidIds = $('#paidIds').val();
if($paidIds != ""){
    $paidIds = JSON.parse($paidIds);
}

关于javascript - 修改隐藏输入中的json数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20441582/

相关文章:

javascript - Angular Bootstrap UI、HTML5 日期选择器和 Angular 1.3.0

javascript - 如何防止用户输入被克隆到javascript中的附加输入框中

javascript - 在Javascript中以编程方式触发鼠标移动事件

jquery - 如何设置使用 jquery 动态添加的图像的样式?

jquery - 如何获取 anchor 标签的文本内容?

javascript - 将 json 数组从 PHP 返回到 jQuery AJAX

html - 使用 jplayer 将 m4v 从 apache 流式传输到 chrome 时客户端关闭连接

javascript - 动态创建 onclick 事件 anchor 元素 - Javascript

javascript - 无法让 jQuery 切换脚本在 jQuery 对话框内运行

javascript - 测试表单数据并返回单个错误消息(Javascript)