在下拉列表中设置函数onchange - PHP

时间:2015-06-21 06:43:58

标签: php

我有一个下拉列表,当用户选择一个值时,将出现不同的表单取决于所选的值。我的文件是html。我使用bootstrap进行设计。

这是我的示例代码:

<form name="exmType" method = "POST">
<select class="form-control" name="txtType" class="select" method = "post"
onChange="this.form.submit();" style="width:300px;">
    <option value="">Option A</option>
    <option value="1">Option B</option>
    <option value="2">Option C </option>    
<?php

if (isset($_POST['txtType'])) {
if ( $_POST['txtType'] == "" ){
       *display form a*
} elseif ( $_POST['txtType'] == 1 ){
        *display form b*
 } elseif ( $_POST['txtType'] == 2 ){
        *display form c*
 }
}

?>

  </select>
</form>

3 个答案:

答案 0 :(得分:0)

你应该尝试使用Jquery:

<script>
$('form select[name=txtType]').change(function(){
  if ($('form select option:selected').val() == '1'){
    $('#optionA').show();
  }else{
    $('#optionA').hide();
  }
});

$('form select[name= txtType]').change(function(){
  if ($('form select option:selected').val() == '2'){
    $('#optionB').show();
  }else{
    $('#optionB ').hide();
  }
});
</script>

你可以找到Jquery:http://jsfiddle.net/ecZrE/

一些好的答案: Show Form Field if Drop Down Item is Selected Using jquery

Javascript: Trying to show different forms based on drop down value?

Drop down menu selection ditactes what form will display

Show different elements of a form depending on dropdown box selection

答案 1 :(得分:0)

以下是您需要的简单代码示例,您可以根据自己的需要调整它。

代码非常简单,如果您在发表评论时有任何问题,我也没有理由详细说明它的作用。

&#13;
&#13;
$(document).ready(function() {
    $('select').change(function(){
        if($(this).val() == '0') {
           $('form').css('display','none');
        }
        if ($(this).val() == '1') {
           $('form').css('display','none');
           $('#form_a').css('display','block');
        }
        if($(this).val() == '2') {
           $('form').css('display','none');
           $('#form_b').css('display','block');
        }
        if($(this).val() == '3') {
           $('form').css('display','none');
           $('#form_c').css('display','block');
        }
    });
});
&#13;
form {
    display: none; 
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
    <option value="0">-- Choose Form --</option>
    <option value="1">Form A</option>
    <option value="2">Form B</option>
    <option value="3">Form C</option>
</select>
<form id="form_a" method="post" role="form">
    Form a: <input type="text" value="form_a_text"/>
</form>
<form id="form_b" method="post" role="form">
    Form b: <input type="text" value="form_b_text"/>
</form>
<form id="form_c" method="post" role="form">
    Form c: <input type="text" value="form_c_text"/>
</form>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

首先,您的select标签有两个class=。选择正确的。

   `<select class="form-control"       name="txtType" class="select" method =       "post"
   onChange="this.form.submit();"         style="width:300px;">
<option value="">Option A</option>
<option value="1">Option B</option>
<option value="2">Option C </option>`

要添加onClick或onChange事件,请使用以下函数。在添加之前,如果您向select标记添加id会更好。

$('#select_tag_id').change(function(){ $('#form_id_to_display').show('slow'); $('#form_id_to_hide').hide('slow'); });

在头部或页面底部添加上述代码。

抱歉错误的路线。从手机发布。编辑选项有限。