我使用Bootstrapvalidator来验证具有许多动态输入字段的表单。显示的输入字段数取决于所选comboBox(选择)的值,然后,该组合框会通过Ajax显示许多输入字段。
在第一次更改comboBox(选择)值时,Bootstrapvalidator起作用,但是在下一次comboBox(选择)更改时,Bootstrap验证器不起作用。
是否有解决此问题的解决方案?
OnChange组合框(选择)
$('#jenis_penawaran').on('change', function () {
var jenis_penawaran = this.value;
set_bobot_kriteria(jenis_penawaran);
});
在OnChange之后调用的函数
function set_bobot_kriteria(par) {
var data = {
'jenis_penawaran': par,
'dm': '3',
};
$.ajax({
type: 'POST',
url: "<?php echo site_url('user/set_bobot'); ?>",
data: data,
success: function (result) {
$('#bobot-kriteria').html(result); //dynamic input field depend on Combobox (select) change
$('#form_update_bobot').bootstrapValidator({ //The validator does not work after OnChange the second time and after
fields: {
"bobot_kriteria[]": {
validators: {
notEmpty: {
message: 'Bobot tidak boleh kosong'
},
numeric: {
message: 'Bobot harus berupa angka'
}
}
}
}
});
},
})
}
从OnChange组合框生成的动态输入字段的示例(选择)
<div class="form-group row m-b-15">
<label class="col-form-label col-md-3">Nama Kriteria</label>
<div class="col-md-9">
<div class="input-group">
<div class="input-group-append"><span class="input-group-text"><i class="ion-ios-speedometer"></i></span></div>
<input type="hidden" name="id_bobot_kriteria[]" value="' . $row->id_kriteria . '"/>
<input type="text" class="form-control" name="bobot_kriteria[]" id="id_bobot_kriteria" />
</div>
</div><
</div>
<div class="form-group row m-b-15">
<label class="col-form-label col-md-3">Nama Kriteria</label>
<div class="col-md-9">
<div class="input-group">
<div class="input-group-append"><span class="input-group-text"><i class="ion-ios-speedometer"></i></span></div>
<input type="hidden" name="id_bobot_kriteria[]" value="' . $row->id_kriteria . '"/>
<input type="text" class="form-control" name="bobot_kriteria[]" id="id_bobot_kriteria" />
</div>
</div><
</div>
答案 0 :(得分:0)
您需要使用被动形式来绑定事件侦听器:
$(document).on('change', '#jenis_penawaran', function () {
var jenis_penawaran = this.value;
set_bobot_kriteria(jenis_penawaran);
});