0

我使用 Jquery 移动

这是我下面的代码,但它不起作用。当我点击一个单选按钮使我的动作生效时,我想要。任何想法为什么不起作用?

$('#lbtn').append("<input name='opt1' class='rd_btn' checked type='radio' value="+results.rows.item(i).IdRubrique+"    id="+results.rows.item(i).IdRubrique+" />");


$('.rd_btn').live('taphold', function() 
          {
            var sel_id_rub = $('input[name=opt1]:checked').attr('id');//ID of Rubrique
            window.localStorage.setItem("id_rub", sel_id_rub);       //Id Rubrique
            liste_Phrase();
          }
4

1 回答 1

1

上面的示例基于您的代码。当触发 taphold 事件时,输入元素的相应 id 将显示在警报框中。

这个想法是在创建的元素上附加 taphold 事件处理程序。

<!DOCTYPE html> 
<html> 
    <head> 
        <title>Taphold Example</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
        <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
        <script>
            var i = 0;
            $(document).on('click', '#add', function(e){
                i++;
                var labeledRadio = $(["<label><input name=\"opt1\" class=\"rd_btn\" checked type=\"radio\" id=myId_",i," value=myval_",i," id=myId_",i,">Label_",i,"</input></label>"].join("")).on('taphold', function() {  alert($(this).parent().children("input[type=radio]").attr('id')); });
                $('#lbtn').append(labeledRadio).trigger('create');
            });
        </script>
    </head>

    <body>
        <!-- /page -->
        <div data-role="page">
            <!-- /header -->
            <div data-role="header" data-theme="b">
                <h1>Taphold test</h1>
            </div>
            <!-- /content -->
            <div data-role="content">
                <input type="button" id="add" value="Add Inputs"/>        
                <div id="lbtn"></div>
             </div>
        </div>
    </body>
</html>

我希望这有帮助。

于 2013-02-11T21:49:23.897 回答