【发布时间】:2020-02-18 04:01:25
【问题描述】:
我在做动态输入,当用户点击“Add From Checklist”会有一个输入表单,如果再次点击“Add From Checklist”那么输入表单就变成了两个,以此类推,对于实际的选择代码,已经有数据如 '1-022020-001',现在用于输入站和设备,数据是数据库中值'1-022020-001'的位置,现在我' m 仍然对如何将值 '1-022020-001' 的结果发送到控制器并返回给 js 以显示输入的 Station and Equipment 的结果感到困惑。
演示:
var html = '';
$('.btnSend').attr('disabled', true);
$("#inputCode, #inputStasiun, #inputPeralatan").select2({
placeholder: "Choose one",
allowClear: true
});
var runNumberAdd = 1;
$("#add-more").click(function() {
html =
'<div class="col-sm-6 control-group">'+
'<div class="panel panel-default" style="padding: 10px;">'+
'<div class="form-horizontal">'+
'<div class="form-group">'+
'<label class="col-sm-2 control-label">Tanggal</label>'+
'<div class="col-sm-10">'+
'<input name="inputTgl[]" type="date" id="inputTglClone'+ runNumberAdd +'" class="form-control inputTglClone">'+
'</div>'+
'</div>'+
'<div class="form-group">'+
'<label class="col-sm-2 control-label">Code</label>'+
'<div class="col-sm-10">'+
'<select name="inputCode[]" id="inputCodeClone'+ runNumberAdd +'" class="form-control select2 inputCodeClone">'+
'</select>'+
'</div>'+
'</div>'+
'<div class="form-group">'+
'<label class="col-sm-2 control-label">Stasiun</label>'+
'<div class="col-sm-10">'+
'<select name="inputStasiun[]" id="inputStasiunClone'+ runNumberAdd +'" class="form-control select2 inputStasiunClone">'+
'</select>'+
'<input name="inputStasiunHidden[]" type="text" id="inputStasiunHiddenClone'+ runNumberAdd +'" class="form-control inputStasiunHiddenClone">'+
'</div>'+
'</div>'+
'<div class="form-group">'+
'<label class="col-sm-2 control-label">Peralatan</label>'+
'<div class="col-sm-10">'+
'<select name="inputPeralatan[]" id="inputPeralatanClone'+ runNumberAdd +'" class="form-control select2 inputPeralatanClone">'+
'</select>'+
'</div>'+
'</div>'+
'<div class="form-group">'+
'<label class="col-sm-2 control-label">Deskripsi</label>'+
'<div class="col-sm-10">'+
'<textarea name="inputDeskripsi[]" id="inputDeskripsiClone'+ runNumberAdd +'" class="form-control inputDeskripsiClone"></textarea>'+
'</div>'+
'</div>'+
'<div class="form-group">'+
'<label class="col-sm-2 control-label">Resume</label>'+
'<div class="col-sm-10">'+
'<label class="radio-inline">'+
'<input type="radio" name="inputChecklist[]" id="inputChecklist1Clone'+ runNumberAdd +'" class="inputChecklist1Clone'+ runNumberAdd +'" value="1"> OK'+
'</label>'+
'<label class="radio-inline">'+
'<input type="radio" name="inputChecklist[]" id="inputChecklist2Clone'+ runNumberAdd +'" class="inputChecklist2Clone'+ runNumberAdd +'" value="0"> NOK'+
'</label>'+
'<div class="pull-right">'+
'<button type="button" class="btn btn-danger btn-sm remove_list"> Hapus From Checklist</button>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>';
$('.clone-form').append(html);
$(".inputCodeClone, .inputStasiunClone, .inputPeralatanClone").select2({
placeholder: "Choose one",
allowClear: true
});
$.ajax({
url : 'showDataCode',
dataType : 'JSON',
async : true,
success : function(data) {
var minrunNumberAdd = runNumberAdd - 1;
var attrCode = '#inputCodeClone' + minrunNumberAdd;
$(attrCode).append($("<option selected disabled></option>").attr("value", '').text(''));
$.each(data, function(key, value) {
$(attrCode).append($("<option></option>").attr("value", value.id).text(value.code));
});
}
});
$('.btnSend').attr('disabled', false);
$('.inputStasiunClone').attr("disabled", true);
$('.inputPeralatanClone').attr("disabled", true);
runNumberAdd++;
});
$("body").on("click", ".remove_list",function() {
var numItems = $('.control-group').length;
$(this).parents(".control-group").remove();
if (numItems == 1) {
$('.btnSend').attr('disabled', true);
} else {
$('.btnSend').attr('disabled', false);
}
});
// How to get attribut ID
// My Xample
$('input[id^="inputCodeClone"]').on('click', function() {
alert('A');
});
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" rel="stylesheet"/>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<div class="box-header">
<div class="pull-right">
<button type="button" id="add-more" class="btn btn-success btn-sm"> Tambah From Checklist</button>
</div>
</div>
<form action="<?= base_url('GeneralFormChecklist/submitChecklist'); ?>" method="post" id="formInput">
<div class="box-body">
<div class="clone-form">
</div>
</div>
<div class="box-footer">
<div class="pull-right">
<button type="submit" class="btn btn-primary btn-sm btnSend">Kirim Checklist</button>
</div>
</div>
</form>
问题是:
- 如何通过选择code as where in the database later,在输入站显示id_location,在输入设备中显示id_equipment_name?
注意: 我在查找动态 ID 时卡住的代码
【问题讨论】:
-
$('input[id^="inputCodeClone"]').on('click', function(e,value) { //这里获取选中选项value的值 });
-
@LDS 没有任何反应,即使您已被指示发出警报,但选择器中可能存在错误,我不确定
标签: javascript php jquery codeigniter