2014-02-19 41 views
0

這是我在數據庫表時平變化功能選擇下拉菜單將填充一個文本框

tbl_job_title

選擇從表中的職位時
ID | Job_title | description  | 
1 | Accountant | Handle Accounts | 
2 | Dev. Support | Support Centre | 

,我使用了一個下拉菜單這是我的代碼。

<select id="job_title" > 
    <option value=""> </option> 
    <?php foreach ($job_title as $row): ?> 
     <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?> 
     </option> 
    <?php endforeach?> 
</select> 

,我有一個文本框,如果我選擇JOB_TITLE

<input type="text" id="catch_value"> 

如何填充文本框當我選擇的例子是「會計師」,在文本框的值必須是「處理帳戶將填充」。

回答

3

這裏是短&甜蜜的代碼,我剛纔爲你做,可隨時使用它! 不需要阿賈克斯...

CODE -

<select id="job_title" > 
    <option value="" class="job" role=""> </option> 
    <?php foreach ($job_title as $row): ?> 
     <option value="<?php echo $row['id']; ?>" class="job<?php echo $row['id']; ?>" role="<?php echo $row['description']; ?>"><?php echo $row['title']; ?> 
     </option> 
    <?php endforeach?> 
</select> 

jQuery的 -

$('#job_title').on('change',function(){ 
    var m = this.value; 
    var n = $('.job'+m).attr('role'); 
    $('#catch_value').val(n); 
    return false; 
}); 

如 - fiddle

+0

你有jsfiddle中的示例嗎?謝謝 – Vincent

+1

嘿嘗試這個小提琴 - http://jsfiddle.net/TPE9r/4/ –

+0

感謝您的嘗試,但我需要的是,當我輸入「會計」文本框將填充「處理帳戶」像上面的例子中,我在數據庫中連接。 thansk – Vincent

1
$('#job_title').change(function(){ 
    $('#catch_value').val('Handle Accounts'); 
}); 

看到小提琴:fiddle

,或者你可以添加如果statments

$('#job_title').change(function(){ 
    var jt = $('#job_title').val(); 
if(jt == "Something") 
{ 
    $('#catch_value').val('Handle Accounts'); 
} 
if (jt == "SomethingElse") 
{ 
    $('#catch_value').val('somethingelse'); 
} 
}); 
+1

這將只是將其設置爲「處理帳戶」,無論哪個「

+0

該值都來自數據庫。我應該如何獲得價值? – Vincent

+0

所以你希望輸入的文本值與所選的選項值相同? – bart2puck

2
<select id="job_title" onchange="javascript:callajaxvalue(this.value);"> 
    <option value=""> </option> 
    <?php foreach ($job_title as $row): ?> 
     <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?> 
     </option> 
    <?php endforeach?> 
</select> 

<script> 
    function callajaxvalue(id) 
    { 
      $.ajax({ 
      type: "POST", 
      url: "some.php", 
      data: { id: id} 
      success: function(data, textStatus){ 
       if(data) 
       { $("#catch_value").val(data);} 
      }, 
      }) 
    } 
</script> 

some.php

$ _ POST [ '身份證'];

$ query =「從表中獲取數據」;

執行查詢。

echo $ row ['description'];

對於笨

function callajaxvalue(id) 
    { 
      $.ajax({ 
      type: "POST", 
      url: "my_controller/update/"+id, 
      data: { id: id} 
      success: function(data, textStatus){ 
       if(data) 
       { $("#catch_value").val(data);} 
      }, 
      }) 
    } 

my_Controller.php

public function update() 
    { 
     $id = $this->input->post('id'); 
     $data['discription'] = call model function for get data form database 

     echo json_encode($data); 
    } 
+0

你有jsfiddle的這個樣本嗎? – Vincent

+1

這很容易實現。你面臨什麼樣的問題。這段代碼在哪裏混亂? –

+0

我很困惑some.php,我使用codeigniter。對不起 – Vincent

2

這是正確的答案:

<select id="job_title" onchange='populate()'> 
    <option value=""> </option> 
    <?php foreach ($job_title as $row): ?> 
    <option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?> 
    </option> 
<?php endforeach?> 
    </select> 

    <script> 
     function populate(){ 
     var jobttl= document.getElementById('job_title').value(); 
     if(jobttl){ 
      document.getElementById('catch_value').value; 
     } 

     } 
    </script> 
+0

你有一個樣本jsfiddle這個? – Vincent

相關問題