PHP:根据所选选项加载特定区域


PHP: Loading a specific area dependent on selected option

我有一个下拉菜单,其中包含来自数据库的动态设置值:

当选择了一个值时,我如何根据所选选项加载特定的view

我现在让它加载一个特定的视图取决于选择的选项:

代码:

        if (isset($_REQUEST['general_options'])) {
            $page = strtolower(str_replace(" ", "", $_REQUEST['general_options']));

            $this->load->view( $page, $data, FALSE);
        }

如何根据所选问题动态生成包含特定问题的表格

HTML:

<label for="general_options">Quote Type: </label>
    <select name="general_options" id="general_options">
        <option value="Graphic Design">Graphic Design</option>

        <option value="Content Management System">Content Management System</option>

        <option value="Shopping Cart">Shopping Cart</option>

        <option value="E-Mail Marketing">E-Mail Marketing</option>
            </select>

我认为php在这方面做得太过火了。我已经为此使用了jquery。你可以在这里找到jsfiddle

<label for="general_options">Quote Type: </label>
    <select name="general_options" id="general_options">
        <option value="graphic">Graphic Design</option>
        <option value="content">Content Management System</option>
        <option value="shopping">Shopping Cart</option>
        <option value="marketing">E-Mail Marketing</option>
</select><br/>
<div id="graphic" style="display:none;" class="questions">
    <p>Graphic content 1</p>
    <p>Graphic content 2</p>
    <p>Graphic content 3</p>
</div>
<div id="content" style="display:none;" class="questions">
<p>CMS content 1</p>
<p>CMS content 2</p>
<p>CMS content 3</p>
</div>
<div id="shopping" style="display:none;" class="questions">
<p>shopping content 1</p>
<p>shopping content 2</p>
<p>shopping content 3</p>
</div>
<div id="marketing" style="display:none;" class="questions">
<p>marketing content 1</p>
<p>marketing content 2</p>
<p>marketing content 3</p>
</div>

和jquery Code

$(document).ready(function() {
     $('#general_options').change(function() {
      theVal = $("#general_options").val();
     $('div.questions').each(function(){
        if(this.id == theVal){
            $('div.questions').hide();
            $('#'+this.id).show();
        }
    });         
  });   
});​
    ​

对于选项标签的值,而不是文本,您可以使用ids。然后,当用户提交表单时,您可以编写代码(服务器端)来查询具有所选id的数据库。如果您需要交互式方式,可以使用AJAX。

在jQuery中,有get()、post()和ajax()方法。你可以用其中一个。