这里我有codeigniter更新代码,它几乎可以工作,但问题是当我点击编辑按钮没有获取&在下拉行中显示所选选项。如何解决此错误
ViewIncome.php查看Html
<div class="modal fade bs-example-modal-md" id="confirm-edit" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
<form class="form-horizontal">
<div class="form-group">
<div class="col-md-12">
<label>Amount:</label>
<input type="number" class="form-control" id="in_amnt" placeholder="amount">
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<label>Category:</label>
<select class="form-control" id="in_cat">
<?php foreach ($income as $incm) {
?>
<tr>
<option value="<?php echo $incm->income_category_id; ?>"><?php echo $incm->category_name; ?></option>
</tr>
<?php } ?>
</div>
</div>
<div class="modal-footer">
<button type="button" id="btn-ys" class="btn btn-success">Update</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</form>
ViewIncome_result.php查看HTML
<table class="" dataTable"" id="income_table">
<thead>
<tr>
<th ><center>AMOUNT</center></th>
<th ><center>CATEGORY</center></th>
<th ><center>EDIT</center></th>
</tr>
</thead>
<?php foreach ($incm as $in_key) { ?>
<tr>
<td><center><?php echo $in_key->amount;?></center></td>
<td><center><?php echo $in_key->category;?></center></td>
<td>
<center><button type="button" title="edit" data-toggle="modal" edit_id=<?php echo $in_key->income_id;?> in_amnt=<?php echo $in_key->amount; ?> in_cat=<?php echo $in_key->category;?> class="btn btn-info btn_edit" > <i class="fa fa-pencil"> </i></button></center>
</td>
</tr>
<?php } ?>
</table>
ViewIncome.php查看JavaScript
//edit data
$(document).on('click','.btn_edit', function(e) {
$("#edit").val($(this).attr('e`enter code here`dit_id'));
$("#in_cat").val($(this).attr('in_cat'));
$("#in_amnt").val($(this).attr('in_amnt'));
$("#confirm-edit").modal({show:'true'});
});
$(document).on('click', '#btn-ys', function() {
var income_id = $('#edit').val();
var in_cat = $('#in_cat').val();
var in_amnt = $('#in_amnt').val();
var result={"income_id":income_id,"in_amnt":in_amnt,"in_cat":in_cat};
$.ajax({
data:result,
type: "POST",
url:'<?php echo base_url(); ?>admin/income/editincome/'+income_id,
success: function(data){
$("#confirm-edit").modal('hide');
viewData();
}
});
});
});
Income.php控制器
public function editincome($income_id)
{
$udata['income_id'] = $this->input->POST('income_id');
$udata['amount'] = $this->input->POST('in_amnt');
$udata['category'] = $this->input->POST('in_cat');
$update = $this->income_model->update_income_details($udata,$income_id);
}
income_model.php模型
public function update_income_details($udata,$income_id)
{
$this->db->from('income', $udata);
$this->db->where('income_id',$income_id );
return $this->db->update('income',$udata);
}
答案 0 :(得分:1)
您必须使用selected="selected"
来显示所选值!请查看以下代码:
<select class="form-control" id="in_cat">
<?php
foreach ($income as $incm) {
if ($incm->income_category_id == $in_cat) {
?>
<option value="<?php echo $incm->income_category_id; ?>" selected="selected"><?php echo $incm->category_name; ?></option>
<?php } else { ?>
<option value="<?php echo $incm->income_category_id; ?>"><?php echo $incm->category_name; ?></option>
<?php
}
}
?>
</select>