2013-06-13 35 views
1

HTML源全部價值屬性,我想要得到的「完整的」價值來自:的jQuery無法從李(列表)元素

<li title="child-.11 02 C" class="dragable second" value="160|.11 02 C" style="">.11 02 C Dach Rohrgerüst 0,7m</li> 

這個js代碼沒有什麼,我期待在列表中的元素,但作品選擇框選項:

$(document).on('click','select#ArtikelNr, ul#dragableElements li.selected',function() { 
    $('.product-txt').remove(''); 
    // Get ID Example [FIRST IDENTIFIER]|[[FIRST IDENTIFIER] 
    var prodNr = $(this).val(); 
    console.log(prodNr) 

它只是給了我「160」。

即使我將分隔符更改爲[/]或[ - ]或[],問題仍然相同。我的第一個想法是修剪空白區和其他非alphnum字符,但我也沒有運氣。

使用: jQuery的1.8.3.min.js 的jQuery-UI-1.9.2.custom.min.js

任何想法?

最善良 ELEX

+0

只需使用一個自定義諸如「數據值」之類的屬性值應該是數字 – TommyBs

回答

1

val不工作li

使用

var prodNr = $(this).attr('value'); 

http://api.jquery.com/val

替代

您可以使用data一樣,

<li title="child-.11 02 C" data-value="160|.11 02 C" style="">.11 02 C Dach Rohrgerüst 0,7m</li> 

JS

var prodNr = $(this).data('value'); 

文檔http://api.jquery.com/data

+0

半正確。值是一個有效的屬性。 –

6

不能使用valueli元素包含任何數字以外。

從MOZ-docs的報價:

此屬性只允許值是一個數字,即使顯示用羅馬數字或字母列表。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li

所以,你不應該使用這個屬性來存儲數據。


如果你願意,你可以使用data-attribute來代替:

<li title="child-.11 02 C" class="dragable second" data-value="160|.11 02 C">.11 02 C Dach Rohrgerüst 0,7m</li> 

來獲取值,使用:

$(this).data('value'); 

演示:http://jsfiddle.net/samliew/ZgMze/

+0

Thanx爲您提供幫助。我想發佈我的解決方案,但我的「聲譽」是「不足」;-)需要至少10分。我會稍後發佈。 – ELEx