Javascript 修改隐藏输入中的json数组?
我有一个隐藏的输入:Javascript 修改隐藏输入中的json数组?,javascript,jquery,html,Javascript,Jquery,Html,我有一个隐藏的输入: <input type="hidden" id="paidIds" name="paidIds" value="[]"> 删除: var $paidIds = $('#paidIds').val(); var $index = paidIds.indexOf($id); if($index != -1) { $('#paidIds').val().splice($index, 1); } $('#paidIds').val($paidIds); 到目
<input type="hidden" id="paidIds" name="paidIds" value="[]">
删除:
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()
到
尝试:
您需要将字符串转换为对象 更改:
$('paidIds').val()
到
尝试:
您需要将字符串转换为对象 更改:
$('paidIds').val()
到
尝试:
读取输入时尝试使用
JSON.parse
,设置输入值时尝试使用JSON.stringify
读取输入时尝试使用JSON.parse
,设置输入值时尝试使用JSON.stringify读取输入时尝试使用JSON.parse
,在设置输入值时使用JSON.stringify
在读取输入时尝试使用JSON.parse
,在设置输入值时使用JSON.stringify
我建议您存储数组adata-
属性并使用jQuery.data()
读取它,而不是将值解析为数组
HTML
我建议您将数组存储为数据-
属性,并使用jQuery.data()
读取它,而不是将值解析为数组
HTML
我建议您将数组存储为数据-
属性,并使用jQuery.data()
读取它,而不是将值解析为数组
HTML
我建议您将数组存储为数据-
属性,并使用jQuery.data()
读取它,而不是将值解析为数组
HTML
仍然有无效的选择器,或者尝试了它,但是在这行var$paidIds=JSON.parse($('paidIds').val())上出现了“未捕获的语法错误:意外的标记u”错误代码>谢谢修复了选择器输入错误。Nvm是我的选择器输入错误。安装了无效的选择器,但此行出现“未捕获的语法错误:意外的令牌u”错误var$paidIds=JSON.parse($('paidIds').val())代码>谢谢修复了选择器输入错误。Nvm是我的选择器输入错误。安装了无效的选择器,但此行出现“未捕获的语法错误:意外的令牌u”错误var$paidIds=JSON.parse($('paidIds').val())代码>谢谢修复了选择器输入错误。Nvm是我的选择器输入错误。安装了无效的选择器,但此行出现“未捕获的语法错误:意外的令牌u”错误var$paidIds=JSON.parse($('paidIds').val())代码>谢谢修复了选择器输入错误。Nvm再次成为我的选择器输入错误
<input id="paidIds" name="paidIds" data-array="[1,2,3]" value="[1,2,3]">
/* Custom event to handle updates*/
$('#paidIds').on('updateArray', function (evt, newVal) {
var arr = $(this).data('array');
arr.push(newVal);
$(this).val(JSON.stringify(arr))
});
/* Useage*/
$('button').click(function () {
var newArrValue=$(this).data('val')
$('#paidIds').trigger('updateArray', [newArrValue]);
});