gpt4 book ai didi

javascript - 使用 jquery 的数组类型 ids 中的值未定义

转载 作者:行者123 更新时间:2023-12-02 14:18:15 25 4
gpt4 key购买 nike

我正在关闭颜色框后更改图像的 src。当 img 标签的 ID 类似于 tabImage 时,它工作正常,但是当我将 id 更改为 tabImage[0] 时,它停止工作。

工作代码如下:

<div class="whBg"><a href="javascript:openIframe('offerImage');">Select Image</a></div>
<form:hidden path="offerImageName" />
<form:hidden path="offerImageRel" />
<form:hidden path="offerImageTitle" />
<form:errors path="offerImage" cssClass="errorInst" />
<img id="offerImages" src="" style="width: 642px; margin:0px 0 0 220px;" />
<input type="hidden" id="returnImageName" />
<input type="hidden" id="returnImageSrc" />
<input type="hidden" id="returnImageRel" />
<input type="hidden" id="returnImageTitle" />

<script>
function openIframe(tabName)
{
$.colorbox({
iframe:true,
href:"imageListFrame",
innerWidth:1000,
innerHeight:500,
onClosed: function() {
$("#"+tabName+"s").attr("src", $("#returnImageSrc").val());
$("#"+tabName+"Name").val($("#returnImageName").val());
$("#"+tabName+"Rel").val($("#returnImageRel").val());
$("#"+tabName+"Title").val($("#returnImageTitle").val());
}
});
}
</script>

当我更改 inputimg 的 ID 时,它会停止工作。

<div class="whBg"><a href="javascript:openIframe('toursImage',0);">Select Image</a></div>
<input type="hidden" id="toursImageName[0]" />
<input type="hidden" id="toursImageRel[0]" />
<input type="hidden" id="toursImageTitle[0]" />
<img id="toursImages[0]" name="toursImages[0]" src="" style="width: 642px; margin:0px 0 0 220px;" />
<input type="hidden" id="returnImageName" />
<input type="hidden" id="returnImageSrc" />
<input type="hidden" id="returnImageRel" />
<input type="hidden" id="returnImageTitle" />

<script>
function openIframe(tabName,id)
{
$.colorbox({
iframe:true,
href:"imageListFrame",
innerWidth:1000,
innerHeight:500,
onClosed: function() {
$("#"+tabName+"s["+id+"]").attr("src", $("#returnImageSrc").val());
alert($("#"+tabName+"s["+id+"]").attr("src"));
$("#"+tabName+"Name["+id+"]").val($("#returnImageName").val());
$("#"+tabName+"Rel["+id+"]").val($("#returnImageRel").val());
$("#"+tabName+"Title["+id+"]").val($("#returnImageTitle").val());
}
});
}
</script>

我仔细检查了 returnImageNamereturnImageSrc 等是否获得了正确的值。我尝试使用 jquery 访问 #toursImages[0] 的值,但我收到 undefined 警报。

最佳答案

您必须转义 [] - 带 \\ 的括号

$("#"+tabName+"Name\\["+id+"\\]")

来自 jQuery 文档:LINK

To use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[]^`{|}~ ) as a literal part of a name, it must be escaped with with two backslashes: \\.

关于javascript - 使用 jquery 的数组类型 ids 中的值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38871051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com