【问题标题】:How to fetch the data from database while selecting a select option from jquery从jquery中选择选择选项时如何从数据库中获取数据
【发布时间】:2015-08-11 05:45:05
【问题描述】:

我正在为我的项目使用 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>

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

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

【问题讨论】:

    标签: php jquery database codeigniter fetch


    【解决方案1】:

    您可以使用 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。

    【讨论】:

    • 感谢您的回复。让我检查一下并发布它
    • 好的,如果遇到任何问题,请告诉我。
    • jquery 代码不起作用.. 我尝试通过警报(一些值)但它没有显示任何东西.. 是否有任何语法错误??
    • 谢谢!!!你完成了我的工作......非常感谢......我现在真的不知道如何表达......谢谢
    • ajax 中的 url 部分是我弄错的,所以很长一段时间都出现了问题......
    【解决方案2】:

    这是您的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;
    

    你去吧,伙计。我不认为你应该有问题了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      相关资源
      最近更新 更多