搜索']'到结束属性选择器时意外结束文件

时间:2010-03-13 21:50:19

标签: jquery

我不明白以下代码会出现什么问题。它需要将图像的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>

2 个答案:

答案 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 + "\\]]")