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