我有一个下拉菜单,其中包含来自数据库的动态设置值:
如果选择了某个值,我如何根据所选选项加载特定的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>
答案 0 :(得分:0)
对于选项标签的值,您可以使用id
代替文本。然后,当用户提交表单时,您可以编写代码(服务器端)以使用所选的id查询数据库。如果您需要以交互方式,则可以使用AJAX。
答案 1 :(得分:0)
我认为php对此会有点过分。我为此使用了jquery。你可以找到jsfiddle here
<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();
}
});
});
});