[英]Jquery how to select dynamically created radio button
jQuery如何選擇動態創建的單選按鈕。 我有
<div id="rDataR">
</div>
我的JAVASCRIPT
<script>
$(function () {
var items="<p>";
for (var i = 0; i < length; i++) {
items+="<input type='radio' id='myrdb' value='"+i+"'/>"
}
items+="</p>"
$("#rDataR").html(items);
}
</script>
我嘗試了這個,但是沒有用
$('#myrdb').click(function () {
if ($(this).is(':checked')) {
alert($(this).val());
}
});
嘗試如下:
$(document).on('click','#myrdb',function () {
if ($(this).is(':checked')) {
alert($(this).val());
}
});
不用對用戶輸入使用重復的id use類,然后訪問它們:
$(function(){
$('.myrdb').filter(':checked').click(function(){alert('I am checked')})
});
您需要將動態添加的html更改為
items+="<input type='radio' class='myrdb' value='"+i+"'/>"
由於按照慣例, dom id's
必須是唯一的。
jQuery事件處理程序如下所示:
$(document).on('click','.myrdb',function () {
if ($(this).is(':checked')) {
alert($(this).val());
}
});
你的邏輯是正確的。 您只是在這里和那里錯過了一些末端冒號,並且有一個小錯字,您還沒有定義長度。 我還更改了您的無線電元素,以使用class代替id,以便可以一致地對其進行唯一標識。 現在所做的更改如下:
您的HTML:
<div id="rDataR"></div>
您的JavaScript
<script> $(function() { var items = "<p>"; var length = 10; //added length for (var i = 0; i < length; i++) { items += "<input type='radio' class='myrdb' value='" + i + "'/>"; } items += "</p>"; $("#rDataR").html(items); //corrected the typo #rDataE }); </script>
您的觸發器
$(".myrdb").click(function () { if ($(this).is(':checked')) { alert($(this).val()); } });
讓我知道事情的后續
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.