如何从列表视图中获取值?

时间:2015-03-26 10:28:11

标签: android jquery cordova

目前我有这个:

$('#restaurants').append('<li><a rel="external" href="details.html?id=' + row.id + '"><h2>' + row.name + '</h2><span class="ui-li-count">' + row.rating / 10 + '</span><p>' + row.category + '</p></a><a href="#delete" value="' + row.id '" data-rel="popup" data-position-to="window" data-transition="pop"></a></li>');

如您所见,它会调用弹出窗口。

        <div data-role="popup" id="delete" data-theme="a" data-overlay-theme="b" class="ui-content" style="max-width:340px; padding-bottom:2em;">
            <h3>Restaurant Verwijderen</h3>
            <p>Weet u zeker dat u dit restaurant uit uw favorieten wilt verwijderen?</p>
            <a href="#" id="remove" data-rel="back" class="ui-shadow ui-btn ui-corner-all ui-btn-b ui-icon-check ui-btn-icon-left ui-btn-inline ui-mini">Ja</a>
            <a href="#" data-rel="back" class="ui-shadow ui-btn ui-corner-all ui-btn-inline ui-mini">Nee</a>
        </div>

现在我想点击按钮&#34; Ja&#34;,并获得我之前设定的值。

    $('#remove').click(function(){
        // Option one
        console.log($("#delete").attr('value'));

        // Option two
        console.log($("#delete").val());
});   

结果,我得到了一个未定义的&#34;控制台中的消息。它看起来很奇怪,因为如果我只是看HTML版本,我会看到该值已设置为我需要的ID。

<a href="#delete" value="4032" data-rel="popup" data-position-to="window" data-transition="pop" title="" class="ui-btn ui-btn-icon-notext ui-icon-delete ui-btn-a"></a>

3 个答案:

答案 0 :(得分:1)

还有另一种方法可以访问id的值。我希望它能奏效。

&#13;
&#13;
$('#deleteID').click(function()
   {
     id = $(this).attr('value');
     $('#remove').attr('data-id',id);
   });
&#13;
&#13;
&#13;

然后点击删除时,您可以访问ID

&#13;
&#13;
$('#remove').click(function(){       
        console.log($(this).attr('data-id'));       
   }); 
&#13;
&#13;
&#13;

答案 1 :(得分:0)

将id添加到锚标签,如

&#13;
&#13;
<a id="deleteID" href="#delete" value="4032" data-rel="popup" data-position-to="window" data-transition="pop" title="" class="ui-btn ui-btn-icon-notext ui-icon-delete ui-btn-a"></a>
&#13;
&#13;
&#13;

然后使用id&#34; deleteID&#34;访问anchor的值像

&#13;
&#13;
console.log($("#deleteID").attr('value'));
&#13;
&#13;
&#13;

答案 2 :(得分:0)

http://demos.jquerymobile.com/1.3.0/docs/widgets/listviews/

向下滚动到&#34; Split Buttons&#34;你可以看到来源。

当我将硬编码的值属性添加到HTML中的<ul>时,我将收到该值,如果我尝试通过附加中的row.id设置值,那么它&# 39;不工作。

正如您在链接中看到的那样,listview有一个data-split-theme,带有一个按钮。点击按钮后,我想收到id(值)。但我不知道在附加中需要添加value属性...