Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法选中动态创建的复选框_Javascript_Jquery_Html_Checkbox_Radio Button - Fatal编程技术网

Javascript 无法选中动态创建的复选框

Javascript 无法选中动态创建的复选框,javascript,jquery,html,checkbox,radio-button,Javascript,Jquery,Html,Checkbox,Radio Button,我有一个jquery函数,用于检查跨度内是否有更改 $('#productionInputs').change(function() { 此范围没有任何代码/子标记。这是因为我在这里添加了动态创建的单选按钮 #productionInputs 假设productionInputs具有由另一个事件生成的动态生成的单选按钮。只要勾选的span单选按钮内有变化,上述功能就会运行 如果单选按钮的值为“是”,将弹出一组复选框。现在,问题从这里开始,每当我尝试勾选任何一个复选框时,都不会发生任何事情。

我有一个jquery函数,用于检查跨度内是否有更改

$('#productionInputs').change(function() {
此范围没有任何代码/子标记。这是因为我在这里添加了动态创建的单选按钮

 #productionInputs
假设productionInputs具有由另一个事件生成的动态生成的单选按钮。只要勾选的span单选按钮内有变化,上述功能就会运行

如果单选按钮的值为“是”,将弹出一组复选框。现在,问题从这里开始,每当我尝试勾选任何一个复选框时,都不会发生任何事情。我不能点击它

我尝试检查元素,似乎每次我尝试单击一个复选框时,由于$'productionInputs'.changefunction{function,整个过程都会再次自动生成

有什么我可以阻止的吗

代码如下:

    function isCheck(name) {
        var elems = document.getElementsByName(name);
        for (var i = 0; i < elems.length; i++) {
            if (elems[i].checked) {
                return elems[i].value;
            }
        }

        return undefined;
    }

    function isOneChecked() {
        // All <input> tags...
        var chx = document.getElementsByTagName('input');
        for (var i = 0; i < chx.length; i++) {
            // If you have more than one radio group, also check the name attribute
            // for the one you want as in && chx[i].name == 'choose'
            // Return true from the function on first match of a checked item
            if (chx[i].type == 'radio' && chx[i].checked) {
                return true;
            } 
        }
        // End of the loop, return false
        return false;
    }


$('#productionInputs').change(function() {
        var responseSS = isCheck('production-input-ss');
        var responseAS = isCheck('production-input-as');
        var responsePD = isCheck('production-input-pu');
        var responsePU = isCheck('production-input-pd');

        var sector = $('#compSector').val();
        var result = '';
        var resultSS = '';
        var resultAS = '';
        var resultPU = '';
        var resultPD = '';

        var ifChecked = isOneChecked();

        if(sector == 'Food Products and Beverages, Tobacco, Animal feeds, Agricultural products') {
            if(ifChecked) {
                if(responseSS == 'Yes') {
                    resultSS 
                        = "<p class='question'>Please specify. Click as many as apply.</p>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Seafood'>Seafood<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Sugar'>Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Buffalo Meat'>Buffalo Meat<br/>"                        
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Vitamins'>Vitamins<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Milk Chocolate'>Milk Chocolate<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Coloring'>Coloring<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Fuel'>Fuel<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Refined Sugar'>Refined Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Flour'>Flour<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Garlic'>Garlic<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Onion'>Onion<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Rice Bran'>Rice Bran<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='others'>Others"; 
                }

                else if(responseAS == 'Yes') {
                    resultAS 
                        = "<p class='question'>Please specify. Click as many as apply.</p>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Seafood'>Seafood<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Sugar'>Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Buffalo Meat'>Buffalo Meat<br/>"                        
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Vitamins'>Vitamins<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Milk Chocolate'>Milk Chocolate<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Coloring'>Coloring<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Fuel'>Fuel<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Refined Sugar'>Refined Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Flour'>Flour<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Garlic'>Garlic<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Onion'>Onion<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Rice Bran'>Rice Bran<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='others'>Others"; 
                }

                else if(responsePU == 'Yes') {
                    resultPU
                        = "<p class='question'>Please specify. Click as many as apply.</p>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Seafood'>Seafood<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Sugar'>Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Buffalo Meat'>Buffalo Meat<br/>"                        
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Vitamins'>Vitamins<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Milk Chocolate'>Milk Chocolate<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Coloring'>Coloring<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Fuel'>Fuel<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Refined Sugar'>Refined Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Flour'>Flour<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Garlic'>Garlic<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Onion'>Onion<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Rice Bran'>Rice Bran<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='others'>Others"; 
                }

                else if(responsePD == 'Yes') {
                    resultPD 
                        = "<p class='question'>Please specify. Click as many as apply.</p>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Seafood'>Seafood<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Sugar'>Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Buffalo Meat'>Buffalo Meat<br/>"                        
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Vitamins'>Vitamins<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Milk Chocolate'>Milk Chocolate<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Coloring'>Coloring<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Fuel'>Fuel<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Refined Sugar'>Refined Sugar<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Flour'>Flour<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Shortening'>Shortening<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Garlic'>Garlic<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Copra Cake'>Copra Cake<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Onion'>Onion<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='Rice Bran'>Rice Bran<br/>"
                        +   "<input type='checkbox' name='production-ss-items[]' value='others'>Others"; 
                }
            } 
        }

        $('#productionInputSSConfirmed').html(resultSS);
        $('#productionInputASConfirmed').html(resultAS);
        $('#productionInputPUConfirmed').html(resultPU);
        $('#productionInputPDConfirmed').html(resultPD);
    });
以下是生成的单选按钮的代码:

 $(document).ready(function() {
        $("#manufacturingForm").formToWizard({ submitButton: 'saveInfo' });
    // Sector, Production Input
    $("#compSector").on('change', function() {
        var sector = $(this).val();
        var resultSS = '';
        var resultAS = '';
        var resultPU = '';
        var resultPD = '';
        var resultOther = '';

        if(sector) {
            {
                resultSS  = "<p class='question'>Do you have any important production inputs in your company that were in SHORT SUPPLY this month(<?=$currentMonth?>)?</p>"
                        +   "<input type='radio' name='production-input-ss' value='Yes' required>Yes<br />"
                        +   "<input type='radio' name='production-input-ss' value='None'>None<br />";

                resultAS  = "<p class='question'>Do you have any important production inputs in your company that were in ABUNDANT SUPPLY this month(<?=$currentMonth?>)?</p>"
                        +   "<input type='radio' name='production-input-as' value='Yes' required>Yes<br />"
                        +   "<input type='radio' name='production-input-as' value='None'>None<br />";

                resultPU  = "<p class='question'>Do you have any important production inputs in your company with PRICES THAT ARE ON THE UPSIDE this month(<?=$currentMonth?>)?</p>"
                        +   "<input type='radio' name='production-input-pu' value='Yes' required>Yes<br />"
                        +   "<input type='radio' name='production-input-pu' value='None'>None<br />";

                resultPD  = "<p class='question'>Do you have any important production inputs in your company with PRICES THAT ARE ON THE DOWNSIDE this month(<?=$currentMonth?>)?</p>"
                        +   "<input type='radio' name='production-input-pd' value='Yes' required>Yes<br />"
                        +   "<input type='radio' name='production-input-pd' value='None'>None<br />";
            }
        }

        $('#spnProductionInputOther').html(resultOther);
        $('#productionInputSS').html(resultSS);
        $('#productionInputAS').html(resultAS);
        $('#productionInputPU').html(resultPU);
        $('#productionInputPD').html(resultPD);
    });

@user3530303您可以通过获取所选单选按钮的值来逻辑地尝试此操作

<input type="radio" name="radio1" value="creditcard" />
<input type="radio" name="radio2" value="cash"/>
<input type="radio" name="radio3" value="cheque"/>
<input type="radio" name="radio4" value="instore"/>

$("input[name='radio1']:checked").val()
请参阅下面的链接,这可能会有所帮助

检查我的答案,但我不确定你是否在寻找答案。首先生成内容的初始复选框在哪里?我编辑了我的帖子并为生成的单选按钮添加了代码。@Adelphia如何确定选中单选按钮的名称?或者我应该在其中添加id吗?你可以提供不同的新界名称