如何从jquery中选择select选项从数据库中获取数据

时间:2015-08-11 05:45:06

标签: php jquery database codeigniter fetch

我正在为我的项目使用codeigniter而且我在视图上传递数组值。

让我详细说明一下视图,控制器和模型结构。

型号:

public function getTournament() {
    $this->db->select('tourn_id,tourn_name,tourn_teams');
    $this->db->from('tournaments');
    $query = $this->db->get();
    return $query->result_array();
}

控制器

public function index() {
    $result['tournament']=$this->matches_model->getTournament();
    $this->template->set_layout('admin')->enable_parser(FALSE)->title('Add Matches - Cricnepal Live Update')->build('admin/add/matches_view', $result);
}

查看:

<select name="tournament_match" class="form-control" id="tournament_match">
    <option value=''>--- Select Tournament ---</option>
    <?php 
        foreach ($tournament as $row):
            $match_TournamentName=$row['tourn_name'];
            $match_TournamentID=$row['tourn_id'];
            $teamlist=$row['tourn_teams'];
            echo '<option value='.$match_TournamentID.'>'.$match_TournamentName.'</option>'; 
        endforeach;
    ?>
</select>

问题:

<select name="tournament_match" class="form-control" id="tournament_match">
      <option value="">--- Select Tournament ---</option>
      <option value="1">Cricnepal Cricket Tournament</option>
      <option value="2">Nepal Cricket Tournament</option>
</select>

我想在其下方显示一个新的选择选项字段,该字段显示所选选项值的数据。

例如,如果我选择&#34; Cricnepal Cricket Tournament&#34;然后我需要使用jQuery或其他方法立即从数据库中获取与之相关的所有相关数据,以便将其添加为新的选项元素。

2 个答案:

答案 0 :(得分:3)

您可以使用如下所示的jquery'ajax'调用:

$('#tournament_match').change(function() {
   var selected_option = $(this).val();
   $.ajax({
      url: <YOUR URL TO HANDLE THE REQUEST>+"/"+selected_option,
      type: 'post',
      cache: false,
      success: function(return_data) {
         $('#second_select').html(return_data);
      }
   });
});

其中'second_select'是第二个下拉列表的ID。

答案 1 :(得分:1)

以下是html将如何发布:

<select name="tournament_match" class="form-control" id="tournament_match">
      <option value="">--- Select Tournament ---</option>
      <option value="1">Cricnepal Cricket Tournament</option>
      <option value="2">Nepal Cricket Tournament</option>
</select>
<select name="second_select" id="second_select"></select>

您的js将是:

$('#tournament_match').change(function() {
   var selected_option = $(this).val();
   $.ajax({
      url: <YOUR URL TO HANDLE THE REQUEST>+"/"+selected_option,
      type: 'post',
      cache: false,
      success: function(return_data) {
         $('#second_select').html(return_data);
      }
   });
});

处理ajax请求的php将是这样的:

$newoptions = ['apples','oranges','bananas']; //values from the db or some api source.
$ret_val = '';
foreach($newoptions as $option) {
   $ret_val .= "<option>$option</option>";
}
echo $ret_val;
你去哥们了吗?我不认为你应该有问题了。