下拉列表依赖表单

时间:2010-07-19 14:37:10

标签: jquery html ajax

我认为这是一个简单的答案,但对最好的方法并不确定,我不熟悉表格。

我想要一个带有型号的下拉列表。当选择某个型号时,它会显示一个带有适当命名输入的表格。

e.g。

模型1 - 选中时 - 显示输入字段1和输入字段2

模型2 - 选中时 - 显示输入字段1和输入字段2以及输入字段3

模型3 - 选中时 - 显示输入字段1和输入字段4以及输入字段5

希望动态发生这种情况。

非常感谢您编写代码或将我链接到教程或示例网站的天气

谢谢

3 个答案:

答案 0 :(得分:1)

<select onchange="JavaScript: showAppropriateForm( this.value );">
  <option value="Model 1">Model 1</option>
  <option value="Model 2">Model 2</option>
</select>

然后

function showAppropriateForm( v )
{
  document.getElementById( "Form1" ).style.visibility = "hidden";
  document.getElementById( "Form2" ).style.visibility = "hidden";

  if( v == "Model 1" )
  {
    document.getElementById( "Form1" ).style.visibility = "visible";
  }
  else if( v == "Model 2" )
  {
    document.getElementById( "Form2" ).style.visibility = "visible";
  }
}

答案 1 :(得分:1)

HTML

<select id="myselect">
  <option value="Model 1">Model 1</option>
  <option value="Model 2">Model 2</option>
</select>

<div id="Form1" class="forms">Form 1 Contents</div>
<div id="Form2" class="forms">Form 2 Contents</div>

jQuery

$(function() {
    $(".forms").hide();
    $("#myselect").change(function() {
        switch($(this).val()){ 
            case "Model 1":
                $(".forms").hide().parent().find("#Form1").show();
                break;
            case "Model 2":
                $(".forms").hide().parent().find("#Form2").show();
                break;
        }
    });
});

请参阅有关jsFiddle的示例:http://jsfiddle.net/6PtuN/

答案 2 :(得分:0)

$('.button').click(function(event){
    switch (event.target) {
    case $('#option1'):
         //load input field 1 and 2
    break;
    case $('#option2'):
         //load input field 1, 2, and 3
    break;
});

不能确定使用开关查找ID的语法,但您可以很容易地使用if / else if / else if语句。