У меня есть виджет, который создает мастера (шаги).
Каждый шаг имеет форму и может содержать переключатели. Переменная formname
содержит имя текущей формы. Как я могу получить значение переключателя внутри этой формы? Не все формы будут иметь переключатели.
Это пример моего HTML-макета:
<div id="step-0" class="">
<form id="step_0_form" method="post">
<input type="number" class="formateninput form-control" name="aantal" value="1" min="1">
</form>
</div>
<div id="step-1" class="">
<form id="step_1_form" method="post">
<input type="number" class="formateninput form-control" name="hoogte" value="100" min="60">
</form>
</div>
<div id="step-2" class="">
<form id="step_2_form" method="post">
<input type="radio" id="Hout" name="Materiaal" value="Hout" >
<input type="radio" id="Debond" name="Materiaal" value="Debond">
</form>
</div>
И это мой код jquery на данный момент:
var ajaxInvoke = false;
$("#smartwizard").on("leaveStep", function(e, anchorObject, stepNumber, stepDirection) {
if(ajaxInvoke == false){
ajaxInvoke = true;
var form_data = $("#step_"+ stepNumber +"_form").serialize();
var formname = $("#step_"+ stepNumber +"_form");
$.ajax({
type:'post',
url:"catalog/calcdiv.php",
data:form_data,
success:function(data){
// indicate the ajax has been done, release the next step
$("#smartwizard").smartWizard("next");
ajaxInvoke = false;
}
});
// Return false to cancel the `leaveStep` event
return false;
}
});
Я попробовал следующее:
var ajaxInvoke = false;
$("#smartwizard").on("leaveStep", function(e, anchorObject, stepNumber, stepDirection) {
if(ajaxInvoke == false){
ajaxInvoke = true;
var form_data = $("#step_"+ stepNumber +"_form").serialize();
var formname = $("#step_"+ stepNumber +"_form");
$(formname).on("change" "input[type=radio]:checked", function(e){
var val = $(this).val();
console.log(val);
});
$.ajax({
type:'post',
url:"catalog/calcdiv.php",
data:form_data,
success:function(data){
// indicate the ajax has been done, release the next step
$("#smartwizard").smartWizard("next");
ajaxInvoke = false;
}
});
// Return false to cancel the `leaveStep` event
return false;
}
});
Но это ничего не показывает в моей консоли. Как я могу получить значение переключателя, щелкающего по текущему шагу в открытой в данный момент форме? $("#step_"+ stepNumber +"_form");
- соответствующий идентификатор формы.