我不明白以下代码会出现什么问题。它需要将图像的id值复制到另一个文本框,但我得到一个错误。
搜索']'到结束属性选择器时文件意外结束。
<script>
$(function() {
$(".floatLeft").click(function() {
var id = $(this).attr("id").replace(/\D/g, "");
$("input[name='photo[" + id + "]'").val(Math.abs($("input[name='photo[" + id + "]'").val() - 1));
});
});
</script>
<ul class="thumbs">
<li>
<img src="/FLPM/media/news/images/2M9Y1I2K_sm.jpg" alt="Garden" id="28" class="floatLeft" />
<input type="text" name="photo28" value="0" />
<br />
<a href="?Process=&IMAGEID=28" class="thumb"><span class="floatLeft">DELETE</span></a>
</li>
<li>
<img src="/FLPM/media/news/images/2A9L1V2X_sm.jpg" alt="Frangipani Flowers" id="27" class="floatLeft" />
<input type="text" name="photo27" value="0" />
<br />
<a href="?Process=&IMAGEID=27" class="thumb"><span class="floatLeft">DELETE</span></a>
</li>
</ul>
答案 0 :(得分:3)
您的代码应为:
$(".floatLeft").click(function() {
var id = $(this).attr("id").replace(/\D/g, "");
$("input[name='photo\\[" + id + "\\]']").val(Math.abs($("input[name='photo\\[" + id + "\\]']").val() - 1));
});
我所做的只是阅读错误消息
答案 1 :(得分:0)
$("input[name='photo[" + id + "]'")
缺少一个]
我不确定,但你不应该用单引号包装属性值。并且还在属性值
中加倍转义括号$("input[name=photo\\[" + id + "\\]]")