我想动态添加select控件,并同时绑定数据,
我初始界面只有一个 select 控件 A,选择A后再出现select 控件 B,并绑定根据A查询出来的数据,
最后点击提交,把A 、B 控件的值上传,
现在我的问题一是,
我可以添加了B控件,也用josn取得了值,但就是绑定不上,用alert()有弹出数据,
问题二是,
select 控件可能不止两个,会无限多个,命名都是 select + i (i++)
我想点提交的时候,就遍历所有的select控件,但是用jquery的 $("*")会取出别的控件,怎么过滤,用type没找到。
  $('#main').append('<select id="select" + i + "" name="isel"  title="5" style="width: 100px" onchange="SelList(this.id)"></select>');
                    selectObj = document.getElementById(newojbs);
                    $(SelContent).appendTo($(selectObj));

解决方案 »

  1.   

    SelContent 是数据内容,就是要追加到 第一行代码创建的select控件上
      

  2.   

    把你绑定的代码贴出来看看可以用$('select')取得所有select标签或者给select加个class,取得所有对应的标签
      

  3.   

     var SelContent = "";
                $.getJSON("HandlerLoad.ashx?cmd=GetSelList&ID=" + Aid + "&Location=" + Alocation, function (data) {
                    $.each(data, function (i, Item) {
                        SelContent += "<option value='" + data[i].Sid + "'>" + data[i].Sname + "</option>";
                    });
                    //如果SelContent数据存在则添加控件及赋值
                    if ($(SelContent).length > 0) {
                        alert("right");
                        $('#main').append('<select id="select" + i+ "" name="isel"  title="5" style="width: 100px" onchange="SelListASearch(this.id)"></select>');
                        selectObj = document.getElementById(newojbs);
                        $(SelContent).appendTo($(selectObj));
                    }
                    else {
                        alert("null");
                                        }
                });
      

  4.   

    $(SelContent).appendTo($(selectObj));selectObj 就是 动态添加的控件ID,在更前面已经赋值了,select+i ,所动态添加的控件ID是一样的,
      

  5.   

    $("select") 就是所有的下拉框了 。
    你的newojbs这个东西定义没有 ?感觉你写复杂了 。
      

  6.   


    newojbs = select + i;(i++)是这样的。
    也就是 动态添加的控件ID
      selectObj = document.getElementById(newojbs);把刚才添加的控件获取,
       $(SelContent).appendTo($(selectObj));再把SelContent 拼接的数据 赋值
     
      

  7.   

     if ($(SelContent).length > 0) 改成 if (SelContent.length > 0)
      

  8.   

      $('#main').append('<select id="select" + i+ "" name="isel" title="5" style="width: 100px" onchange="SelListASearch(this.id)"></select>');
    改成:  $('#main').append("<select id='select" + i+"' name='isel' title='5' style='width: 100px' onchange='SelListASearch(this.id)'></select>");
      

  9.   


    这两个都为true 呀,
      

  10.   

    $('#main').append('<select id="select" + i+ "" name="isel" title="5" style="width: 100px" onchange="SelListASearch(this.id)"></select>');
    这句的拼接 少个单引号吧 。
    而且i已经在上面就结束了 。
    你用火狐错误控制台看下 ,应该是有问题的 。
      

  11.   

    你在  if ($(SelContent).length > 0) {
      alert("right"); //这里的alert("right");改成alert(SelContent);打印出数据看看。
      

  12.   

    谢谢两位热心帮助,
    没有绑定是值是粗心造成的,那个ID值没有赋值正确。造成绑定不到指定ID上,