2012-07-21 50 views
1

我想做到以下几点:选择框里面选择等

有一个选择框,

<select name="some" id="some"> 
    <option value="xx">xx</option> 
    <option value="yy">yy</option> 
    <option value="ww">ww</option> 
    <option value="zz">zz</option> 
    <option value="uu">uu</option> 
</select> 

当我选择选项XX,打开另外一个选择框

<select name="some_xx" id="some_xx"> 
    <option value="xx">xx</option> 
    <option value="yy">yy</option> 
    <option value="ww">ww</option> 
</select> 

然后,如果我在some_xx中选择YY或WW或XX选项,它将加载一些html信息(表单)。在某些选择中,如果我选择其他选项(而不是xx),它也会加载一些html信息(表单)。

所有的表单都不一样,所以我想加载一个包含所有表单的外部文件,有可能吗?如何做到这一切?

我知道它会涉及一些JavaScript,但我真的不知道如何,我已经搜索了很多,看到一些功能,如load(),并创建选择,但无法弄清楚。

在此先感谢

编辑:我有这样的代码,但它不是动态的,它不工作的权利...

<script> 
$(function(){ 
     function changeForm($(this)) { 
      $('#form').load('$(this).html'); 
     } 

     function changeForm_xx($(this)) { 
      $('#form2').load('$(this).html'); 
     } 

     $('#some').change(function() { 
      changeForm($(this)); 
     });  
     $('#some_xx').change(function() { 
      changeForm_xx($(this)); 
     }); 
}); 
</script> 

还有,我希望当我改变了删除加载内容选择

更新:working:close

+0

确定这里是我到目前为止已经完成了...你能帮助我吗? – user1524462 2012-07-21 01:33:14

+0

太粗略了。我不明白。 – 2012-07-21 01:55:59

回答

1

改变它是这样的。你的脚本中有很多错误。看到演示:JsFiddle Demo

错误列表

  1. function changeForm($(this)) //在这里添加额外的括号和jQuery的OBJ。
  2. $ ('#form2').load('$(this).html') //这是错的。你需要打电话如下。它是yourObj.html()方法。

    function changeForm(obj) { 
        var someVar= $(obj).html(); 
         $('#form').load(someVar); //here you perform load Operation. 
    
        } 
    
        function changeForm_xx(obj) { 
         var someVar= $(obj).html(); 
         $('#form').load(someVar); //here you perform load Operation. 
        } 
    
        $('#some').change(function() { 
         changeForm($(this)); 
        });  
        $('#some_xx').change(function() { 
         changeForm_xx($(this)); 
        }); 
    
+0

谢谢,现在我只需要删除选择和值时,我们再次更改;) – user1524462 2012-07-21 02:43:43

+0

$('#form')。empty();在变化里面做了诀窍 – user1524462 2012-07-21 03:03:18