2

我想做以下事情:

有一个选择框,

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

而且,我想在更改选择时删除加载内容

更新:工作:关闭

4

1 回答 1

1

把它改成这样。你的脚本中有很多错误。见演示:JsFiddle 演示

错误列表

  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));
      });
    
于 2012-07-21T01:51:22.127 回答