js插入一SELECT,SELECTED项显示没被选中???
源码里明明写着SELECTED,显示总是列出列表的最后一值????

解决方案 »

  1.   

    var inputa='<select name="data[attrs]['+data[i].attr_num+']['+data[i].id+']"><option value="">{{lang-please_select}}</option>';
    for(var n in arrays){
    var v=arrays[n],selected='';
    inputa=inputa+'<option value="'+v+'" selected="';
    if(v==data[i].value) {
    selected='selected';
    }
    inputa=inputa+selected+'">'+data[i].select[v]+'</option>';
    }
    inputa=inputa+'</select>';
      

  2.   

    感谢各位了,就是上边向页面插入一SELECT,有SELECTED。显示页面上却是遍历显示的组后一个?如何解决??
      

  3.   

    selected的写法不对
    不是<option selected='selected'>...</option>
    应该是<option selected>...</option> <div id="div1"></div>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      var arrays = ["a","b","c"]
    var inputa='<select name="datasel"><option value="">{{lang-please_select}}</option>';
    for(var n in arrays){
    var v=arrays[n],selected='';
    inputa += '<option value="'+v+'" ';
    if(v=="b") {
    selected='selected';
    }
    inputa += selected+'>'+ v +'</option>';
    }
    inputa=inputa+'</select>';
    document.getElementById("div1").innerHTML = inputa;
      //-->
      </SCRIPT>
      

  4.   


    或者用这种写法,更清晰一点 <div id="div1"></div>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      var arrays = ["a","b","c"];
    var sele = document.createElement("select");
    var opt = document.createElement("option");
    opt.value = "";
    opt.innerHTML = "{{lang-please_select}}";//不知道这里行不行
    sele.appendChild(opt);
    for(var n in arrays){
    var opt = document.createElement("option");
    opt.value = arrays[n];
    opt.innerHTML = arrays[n];
    if(arrays[n]=="b") {
    opt.selected = true;
    }
    sele.appendChild(opt);
    }
    document.getElementById("div1").appendChild(sele);
      //-->
      </SCRIPT>