1

我有这样的:

<ul class="options" id="selt_count">
  <li value="1">One</li>
  <li value="2">Two</li>
  <li value="5">Five</li>
  <li value="12">Other</li>
</ul>
<input type="submit" id="send1" value="send">

我使用此脚本在 jquery 中以以下格式(1、2、5、12)将 li 的所有值转换为变量:

<script>
    $(document).ready(function(){
        $("#send1").click(function(){
            var values = $('#selt_count li').map(function() {
                return this.value
            });
            values;
            var s = '(' + values.get().join(',') + ')';
            alert (s);
        });
    });
</script>

但是如果 li 的值作为字符给出,则此脚本不起作用

示例:现在我有一个 ul:

<ul class="options" id="selt_count">
    <li value="jonh">One</li>
    <li value="jack">Two</li>
    <li value="black">Five</li>
    <li value="barbosa">Other</li>
</ul>

脚本将显示 (0,0,0,0)

谁能帮助我并告诉我错误是什么?先感谢您。

4

4 回答 4

1

而不是获取文本,而是使用.attr().

var text = $(this).attr('value');
于 2013-03-18T06:14:57.267 回答
1

像这样尝试你的 HTML:

<ul class="options" id="selt_count">
    <li data-value="jonh">One</li>
    <li data-value="jack">Two</li>
    <li data-value="black">Five</li>
    <li data-value="barbosa">Other</li>
</ul>

像这样的JavaScript:

<script>
$('#selt_count li').click(function() {
    var index = $(this).index();
    var text = $(this).text();
    var value = $(this).attr('data-value');
    alert('Index is: ' + index + ' , text is ' + text + ' and value is ' + value);
});
</script>

更多关于data-*这里:http ://html5doctor.com/html5-custom-data-attributes/


基于您的编辑的附加脚本...

<script>
    $(document).ready(function(){
        $("#send1").click(function(){
            var values = $('#selt_count li').map(function() {
                return $(this).attr('data-value');
            });
            var s = '(' + values.get().join(',') + ')';
            alert (s);
        });
    });
</script>
于 2013-03-18T06:16:52.643 回答
0

您对 .index() 的使用是错误的。查看文档:.index()

于 2013-03-18T06:16:33.910 回答
0

试试这个链接。这可能会对您有所帮助。

和,

$('#selt_count li').click(function() {
    var index = $(this).attr('value');
    var text = $(this).text();
    alert('Index is: ' + index + ' and text is ' + text);
});
于 2013-03-18T06:19:35.190 回答