カテゴリを印刷する必要があるモジュールをコーディングしています。
このために、最初に、検索する基準(ID / NAME)に基づいてフィルタリングするようにコーディングし、次にユーザーが選択したこの情報に従って、選択リストが動的に作成されました。
ここに問題があります。この動的に作成された選択リストは、関連するデータを (where 句を使用して) フォーム フィールドに出力したいと考えています。フィールドのエコーが得られません。残りの部分 (動的選択リスト ボックス) が表示されます。
これが私の見解です:
<div class="navbar">
<div class="navbar-inner">
<h2>Show Category</h2>
<?php
$dropdown_category= array(
'c_id'=>'Category Code',
'c_name'=>'Category Name');
echo form_dropdown('clas',$dropdown_category,'','id="clas"');
?>
<div id="name_sec">
<!-- PRONT DROP DOWN HERE !-->
</div>
</div>
<br/>
<div class="navbar-inner">
<br/>
<div id="name_sec2">
<!-- PRONT form fields HERE !-->
</div>
</div>
<div class="navbar"></div>
</div>
私のコントローラー:
public function category_display()
{
//Checking so that people cannot go to the page directly.
$this->load->helper('form');
$this->load->database();
$tabel_for_this="its_category";
$data_toprint='';
$id=$this->input->post('send_data_post');
$query = $this->db->query("SELECT ".$id." FROM ".$tabel_for_this." ");
foreach ($query->result_array() as $r)
{
$dropdown_category2[$r[$id]] = $r[$id];
}
echo form_dropdown('clas2',$dropdown_category2,'','id="clas2"');
}
public function category_display_in_fields()
{
$this->load->helper('form');
$this->load->database();
$tabel_for_this="its_category";
$data_toprint='';
$id=$this->input->post('send_data_post_for_field');
$sql = "SELECT * FROM ".$tabel_for_this." where '".$id."'= ?";
$query = $this->db->query($sql,$id);
foreach ($query->result_array() as $r)
{
echo '<input type="text" name="c_dateadded" placeholder="Date" value>
<input type="text" name="'.$r['c_id'].'" placeholder="'.$r['c_name'].'" value>
<select name="c_addedby" placeholder="Added By" value>
<option>added by</option><option>name1</option><option>name2</option><option>name3</option><option>name4</option>
</select>
<input type="text" name="c_description" placeholder="Description" value>
<input type="text" name="i_nos." placeholder="Total Items No." value>
<input type="text" name="c_i_nos_avail" placeholder="Available Stock" value> ';
}
}
ここに私のjsがあります:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#clas").change(function(){
var send_data=$("#clas").val();
$.ajax({
type:"post",
url:"category_display",
data:"send_data_post="+send_data,
success:function(data){
$("#name_sec").html(data);
}
});
});
});
</script>
<!-- CODE TO PRINT DATA IN FIELDS!-->
<script type="text/javascript">
$(document).ready(function(){
$("#clas2").change(function(){
var send_data2=$("#clas2").val();
$.ajax({
type:"post",
url:"category_display_in_fields",
data:"send_data_post_for_field="+send_data2,
success:function(data2){
$("#name_sec2").html(data2);
}
});
});
});
</script>
テスト目的のためだけに、コントローラーでデータベース関連のコードを作成しました