【发布时间】:2015-12-15 02:37:57
【问题描述】:
我正在开发一个库存管理系统,我有一张表格显示购买和使用的库存。我已经包含了编辑按钮来使用模式编辑一行信息。
当模式打开时,它会显示一个包含表格信息的表单。我遇到的问题是,当单击日期字段时,它会清除表单中所有其他字段的信息。选择产品或交易类型字段时不会发生这种情况。
<div class="modal fade" id="editinvModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
<h4 class="modal-title custom_align" id="Heading">Edit The Transaction</h4>
</div>
<div class="modal-body">
<form method="post" action="inventory_update.php">
<!-- Product -->
<div class="form-group">
<select class="form-control" title="Select Product" id="prod1" name="productName">
<optgroup>
<option value="" disabled>Select Product</option>
<option>Product 1</option>
<option>Product 2</option>
</optgroup>
</select>
</div>
<!-- Transaction type -->
<div class="form-group">
<select class="form-control" title="Transaction Type" id="type1" name="transactionType">
<optgroup>
<option value="" disabled>Select Transaction Type</option>
<option>Inventory Used</option>
<option>Inventory Received</option>
<option>Inventory Reconciled</option>
</optgroup>
</select>
</div>
<!-- Date -->
<div class="form-group input-group">
<span class="input-group-addon"><i class="fa fa-calendar fa-fw"></i></span>
<input readonly class="form-control form_datetime" name="date" id="date123" type="text">
</div>
<button type="submit" name="submit" class="btn btn-info btn-lg">
<span class="glyphicon glyphicon-ok-sign"></span> Update</button>
</form>
</div>
<div class="modal-footer ">
<div class="row-fluid">
<button name="cancel" data-dismiss="modal" class="btn btn-warning btn-lg">
<span class="glyphicon glyphicon-ok-sign"></span> Cancel
</button>
</div>
</div>
</div>
</div>
这是日期选择器的代码并将数据放入模式中。
$('#editinvModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget); //button that triggered the modal
var productName = button.data('product');
var transactionType = button.data('type');
var date = button.data('date');
var modal = $(this);
modal.find('.modal-body #prod1').val(productName);
modal.find('.modal-body #type1').val(transactionType);
modal.find('.modal-body #date1').val(date);
});
$(".form_datetime").datetimepicker({
format: 'dd-mm-yyyy',
minView: 2,
pickTime: false,
autoclose: true,
todayBtn: true});
如果有人能看出我做错了什么,或者对可能导致这种情况的原因有任何想法,将不胜感激
【问题讨论】:
-
当您的日期字段被点击时,该脚本是否正在运行?
-
当点击表格上的编辑按钮时,会运行将信息拉到模态框的脚本。选择日期字段时正在运行日期脚本,它向我显示日历。我尝试了 2 个不同的日期选择组件,都清除了所有字段。
-
不,我的意思是,在您的第一个脚本中添加一个
console.log('xx');,并检查控制台何时运行(它是否在您的date field is clicked时运行?) -
是的,每次点击日期字段时控制台都会显示“xx”
-
这是清除值的原因。你想用
$('#editinvModal').on('show.bs.modal'...做什么?您要处理哪些实际按钮?如果它是“编辑”按钮,那么你应该处理它(但你没有显示你的编辑按钮,所以它不清楚)
标签: javascript jquery twitter-bootstrap bootstrap-modal