У меня есть функция jquery, которая проверяет, есть ли изменения внутри диапазона.Не удается проверить динамически созданные флажки
$('#productionInputs').change(function() {
Это span
не имеет код/дочерние теги. Это существует, потому что это, где я добавляю динамически созданные кнопки радио
#productionInputs
Скажут #productionInputs
имеет динамически генерируемые радиокнопки, сгенерированные другое событие. Вышеуказанная функция выполняется всякий раз, когда в пределах диапазона есть изменения (помечается галочка.)
Если радиокнопка отмечена значком 'Yes'
, появится набор флажков. Теперь проблема начинается здесь, когда я пытаюсь пометить любой из этих флажков, ничего не происходит. Я не могу щелкнуть по нему!
Я попытался проверить элемент, казалось бы, каждый раз, когда я пытаюсь щелкнуть флажок, все это снова возникает из-за функции $('#productionInputs').change(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);
});
Проверьте мой ответ, но я не уверен, что это то, что вы ищете. Где первый флажок, который генерирует контент в первую очередь? –
Я отредактировал мое сообщение и добавил код для сгенерированных переключателей. @Adelphia – user3530303