首先我很抱歉如果因爲我一直在尋找很多小時而問這樣的問題。請忍受我的問題。讓我詳細說明一下。我使用「value」屬性動態地將選項添加到具有「value」屬性的選擇元素,如簡單的10位電話號碼,如7465768574 &文本作爲「Name(PhoneNumber)」,當用戶選擇時,將其添加到無序列表中以顯示Users selected選項。要刪除該列表項,我提供了一個圖像,點擊時首先檢查選擇元素&中是否存在相應的選項,然後從無序列表中刪除相同的列表項。&從select元素中刪除相應的選項。現在,爲了實現這一點,我正在檢查'值'屬性。問題是,如果該值屬性是電話號碼的大數字,我的邏輯失敗,因爲jQuery不能正確提取該值。如果它是一個非常大的數字,它將返回0,如果它的範圍在60億到70億之間(逗號不存在),它將返回一些隨機數。我不知道問題是什麼。這與價值類型或某事有關嗎?jquery屬性值返回undefined,如果值很大,則返回0
<select multiple="multiple" id="select1">
<option class="selectedoptions" value="8234567890">Joker(8234567890)</option>
<option class="selectedoptions" value="2">Batman(2)</option>
<option class="selectedoptions" value="3">Superman(3)</option>
<option class="selectedoptions" value="4">Spiderman(4)</option>
<option class="selectedoptions" value="5">Ironman(5)</option>
<option class="selectedoptions" value="6">Thor(6)</option>
<option class="selectedoptions" value="7">Loki(7)</option>
</select>
我jQuery代碼是
function removeSelected() {
var check = $(this).parent().attr('value');
var parent = $(this).parent();
$('#select2 option').each(function() {
if ($(this).attr('value') == check) {
$(this).remove().appendTo('#select1');
parent.remove();
return true;
}
return true;
});
return true;
}
當我調試代碼使用Firebug,我可以看到,對於較大的數字,「檢查」是0,&一些範圍較小的超過80億的返回隨機數字。對於較小的數字,它的工作完美
另外,如果我嘗試.VAL(),而不是.attr( '值')螢火顯示錯誤提前傢伙
TypeError: (c.value || "").replace is not a function
感謝。
編輯1:好的。看來我動態添加List Item的jQuery代碼在列表Item中引入了隨機數作爲值。但問題仍然存在。我可以在創建列表項目時看到我的代碼(通過螢火蟲)添加適當的值,但生成的列表項目不反映它。
編輯2:對羅納爾德先生的迴應。對不起。需要一個上下文。我擁有的是以下內容。 2選擇元素「select1」&「select2」&無序列表「selectedlist」。用戶可以從「select1」中選擇選項&將其移至「select2」。 &「select2」選項將/應該反映爲「selectedlist」的列表項。我有一個函數removeSelected綁定到列表項中的圖像。
<li class="selectedlistItems" value="8123456789">
Joker(8123456789)
<a class="search-choice-close" href="#"> </a>
</li>
現在在功能上,我試圖通過其選項具有相同的值,這個列表項有「選擇2」 &檢查的選項進行迭代。 「檢查」是列表項的「值」 &
$(this).attr('value')
是「選擇2選項」值。 如果再匹配
$(this).remove().appendTo('#select1');
刪除「選擇2選項」 &追加到「選擇1」 其中作爲
刪除列表項,使無序列表總是反映「選擇2 「元素。
我想這個上下文將足夠理解我正在嘗試做什麼。我是新來的jquery &一般我發貼的問題,我只是找到答案,這是我的第一個問題。我非常感謝這種快速反應。
編輯3:檢查此jsFiddle瞭解情況。 http://jsfiddle.net/ygaurav/vUgym/
我無法在OSX上的Firefox 12中複製此內容。 – Alnitak
['.attr()'和'.val()'可以很好地處理大值](http://jsfiddle.net/mdWfJ/1/)。 –