簡體   English   中英

jQuery如何選擇動態創建的單選按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM