0

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

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>
4

2 回答 2

0

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

在 jQuery 中,有get()post()ajax()方法。你可以使用其中之一。

于 2012-08-06T03:19:14.543 回答
0

我认为 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代码

$(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();
        }
    });         

  });   

});​
    ​
于 2012-08-06T06:26:27.370 回答