2017-06-16 9 views
1

這裏我有codeigniter更新代碼,它幾乎工作,但問題是當我點擊編輯按鈕沒有取&在下拉列顯示選擇的選項。如何解決這個問題錯誤當在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> \t \t 
 
<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'}); 
 
}); 
 
\t \t \t 
 
$(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}; 
 
\t  \t \t \t 
 
$.ajax({ 
 
data:result, 
 
type: "POST", 
 
url:'<?php echo base_url(); ?>admin/income/editincome/'+income_id, 
 
success: function(data){  
 
$("#confirm-edit").modal('hide'); 
 
viewData(); 
 
} 
 
}); 
 
}); \t 
 
});

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); 
 
} 
 
\t \t

The Error Image

What I want

回答

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> 
+0

它只是第一個選項的所有時間,但我有幾個選項被選中表中所以。當我點擊編輯我想要什麼我在選項 –

+0

現在錯誤是(消息:未定義的變量:in_cat)在條件如何我可以如何解決@Nitin Vaghani –

相關問題