我使用Jquery Mobile
这是我的代码,但不起作用。正如我想要的那样,当我点击一个单选按钮让我现场直播时。任何想法为什么不起作用?
$('#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();
}
答案 0 :(得分: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>
我希望这会有所帮助。