簡體   English   中英

如何檢查單擊提交按鈕時選擇了哪個動態創建的單選按鈕?

[英]How to check which dynamically created radio button is selected on clicking submit button?

我知道這個問題之前已經被問過很多次了,但是我一直無法找到適合我的具體情況的解決方案。

所以我有一個單選按鈕,我最初是靜態創建的。 HTML代碼如下

    <body>
        <div class = 'container'>
            <div class = 'row'>
                <div class = 'col-md-8 col-md-offset-2 well'>
                    <div class = 'col-md-4'>
                        <h1>Title Placeholder</h1>
                        <p>My vote goes to</p>

在下面的 div 中,我創建了第一個靜態單選按鈕

                        <div class = 'radio'>
                            <label>
                                <input type = 'radio' value = '1' name = 'options' class = 'radio-options'/>
                                <p id = 'radio1'>The value of 1</p>
                            </label>
                        </div>
                        <button type = 'submit' class = 'btn btn-primary submit-butt'>Submit</button>
                    </div>
                </div>
            </div>
        </div>   

    </body>

下面是我創建動態單選按鈕的 javascript 文件部分

function createOptions(length, options){
    $('#radio1').html(options[0]);
    for (var i = 1; i < length; i++){
        $('.radio').append('<br>');
        $('.radio').append('<label><input type = radio value = 1 name = options class = radio-options/><p>'+options[i]+'</p></label>');
    }
    $('.radio').append('<br>');
    $('.radio').append('<label><input type = radio value = 1 name = options class = radio-options/><p>Custom</p></label>')
}

現在,當我單擊提交按鈕並選中其中一個單選按鈕時,我希望能夠知道選中了哪個單選按鈕以及包含在其輸入標簽中的 p 值

$('.submit-butt').on('click', function(){
                   if($('.radio-options').is(':checked')){
                       console.log('I have my value');
                   } 
                });

我嘗試了上面的代碼,但它似乎只適用於第一個靜態創建的單選按鈕。 如何讓相同的功能適用於靜態和動態生成的所有單選按鈕?

只要您的表單只處理一組單選按鈕,您就可以這樣做,只需將 formId 更改為您用於包裝單選按鈕的表單的任何類/ID。

$('input[name=radioName]:checked', '#formId').val()

$('.submit-butt').on('click', function(){
   var selectedRadioValue = $('input[name=radioName]:checked','#formId').val()
   console.log(selectedRadioValue)
});

這就是你可以做到的。 參考工作演示。

 <html> <head></head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <style> #dynamicradio{ margin-left: 100px; } #clickme{ margin-left: 100px; margin-top:10px; } </style> <body> <div id="dynamicradio"></div> <input type="button" value="submit" id="clickme"> </body> <script type="text/javascript"> // here we create the dynamic radio button. var create_dynamic_radio = $("<input type='radio' id='myradioo'> <label> My Radio Button</label>") $("#dynamicradio").append(create_dynamic_radio); // here we write the code for click function. $("#clickme").click(function(){ var isradiochecked = $("#myradioo").prop('checked');//check whether the dynamic radio button is checked or not. if(isradiochecked == true) { alert("dynamic radio button is checked"); } else { alert("dynamic radio button isn't checked"); } }); </script> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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