1

我想从中获取“整个”值的 HTML 源代码:

<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”。

即使我将分隔符更改为 [/] 或 [-] 或 [ ],问题仍然相同。我的第一个想法是修剪空格和其他非字母字符,但我也没有运气。

使用:jquery-1.8.3.min.js jquery-ui-1.9.2.custom.min.js

任何想法?

最善良的ELEx

4

2 回答 2

6

您不能使用valueforli元素包含除数字以外的任何内容。

引用自 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/

于 2013-06-13T10:10:38.933 回答
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

于 2013-06-13T10:09:39.693 回答