浏览代码

support removing elements that have non-numeric ids

Igor Vaynberg 13 年之前
父节点
当前提交
b18b9aecd8
共有 1 个文件被更改,包括 19 次插入1 次删除
  1. 19 1
      select2.js

+ 19 - 1
select2.js

@@ -65,6 +65,24 @@
         }
     };
 
+    function indexOf(value, array) {
+        var i = 0, l = array.length, v;
+
+        if (value.constructor === String) {
+            for (; i < l; i++) if (value.localeCompare(array[i]) === 0) return i;
+        } else {
+            for (; i < l; i++) {
+                v = array[i];
+                if (v.constructor === String) {
+                    if (v.localeCompare(value) === 0) return i;
+                } else {
+                    if (v === value) return i;
+                }
+            }
+        }
+        return -1;
+    }
+
     function getSideBorderPadding(element) {
         return element.outerWidth() - element.width();
     }
@@ -970,7 +988,7 @@
             throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
         }
 
-        index = val.indexOf(selected.data("select2-data").id);
+        index = indexOf(selected.data("select2-data").id, val);
 
         if (index >= 0) {
             val.splice(index, 1);