jQuery val()函数:在已有值中拼接数组问题求助
解决Image Uploader的ID拼接问题
看起来你已经搞定了输入框为空时的赋值逻辑,现在只需要处理已有值时的拼接需求就行。直接在else分支里获取输入框当前的原有值,再和新的attachmentids拼接起来就可以了——通常我们会用分隔符(比如逗号)把新旧ID区分开,避免ID混在一起无法识别:
if(imgIdInput.val('')) { imgIdInput.val(attachmentids); } else { // 获取原有值,用逗号分隔后拼接新值 imgIdInput.val(imgIdInput.val() + ',' + attachmentids); }
额外优化小建议
- 如果你担心重复添加相同的ID,可以先做个存在性检查,避免冗余:
else { const existingIds = imgIdInput.val(); // 简单判断新ID是否已存在,要是ID是多值场景,建议按分隔符拆分后再逐个检查 if (!existingIds.includes(attachmentids)) { imgIdInput.val(existingIds + ',' + attachmentids); } } - 如果你的
attachmentids是数组类型,记得先转成字符串再拼接,比如用attachmentids.join(',')把数组转成逗号分隔的字符串
这样修改后,输入框就会保留原有ID值,同时把新的ID正确追加进去啦。
内容的提问来源于stack exchange,提问作者TROT
相关产品推荐
相关产品推荐

