0

大家好,我正在研究 jquery 我需要避免添加多个图像我在这里编写了代码但是

总是我得到图像的索引值是-1并且总是如果条件触发我做错了一些事情你能帮我做这件事提前谢谢

这是第一个 div 的代码

<div><span class="span1">
<img width="30" hieght="30" name="productimage" src="http://panther:805/Computers.jpg"></span>
<span class="span1">Black_xxl_Slim</span>
<span class="span1">1</span>
<a class="pull-right" href="#"><i onclick="Add(this)" class="icon-plus"></i></a>
</div> 

这是第二个 div 的代码:

<div class="span6" id="separat">
            <ul class="thumbnails pre-scrollable" id="productbundles">
            </ul>
        </div>

这里我的代码如下

  function Add(obj) {
           var addedImagesArray = [];
           var img = $(obj).closest('div').find('img').first();

         var image_src = $(img).attr('src');
        var newobj = $('<li class="span2" id="bunle' + id++ + '"><a href="javascript: void(0)"><img hieght=30  width=30 src="' + image_src + '" /></a><h5>' + "Name:" + name + '</h5><span id="pric' + id + '"><b>' + "Price:" + price + '</b></span>');
         if   (addedImagesArray.indexOf(image_src)) {
           alert("Image Already Added");//src present in the array so do nothing or show an alert..
         } else {
           $('#productbundles').append(newobj); //append the image
          addedImagesArray.push(image_src); ///add src to array
         }
      }

在上面我有两个 div 我正在将图像从一个 div 添加到另一个

但问题是我总是得到-1索引值请帮助我提前谢谢

4

2 回答 2

3

您需要将indexOf()返回值与进行比较,还需要在函数外部的全局范围内声明 addedImagesArray。-1

改变

if(addedImagesArray.indexOf(image_src)) {

if(addedImagesArray.indexOf(image_src) != -1) {

在全局范围内声明 addedImagesArray

var addedImagesArray = [];
function Add(obj) {

           var img = $(obj).closest('div').find('img').first();
于 2013-01-10T11:17:32.550 回答
1

改变 :

if(addedImagesArray.indexOf(image_src)) {
  alert("Image Already Added");

if(addedImagesArray.indexOf(image_src) > -1 ) {
  alert("Image Already Added");
于 2013-01-10T11:18:27.137 回答