我把 dorpdownlist 循环放在 table 里面
它的 id 是一样的 (重复的)
 我没次点下一行的dorpdownlist 都是去到第一行的 dropdomelist 的 ID
要怎么取得我点哪行dropdomelist的 ID

解决方案 »

  1.   

    你在循环放dorpdownlist的时候再加个数值!!就可以获取到单个的咯!!!
      

  2.   

    for (var i = 0; i < document.getElementById("cityList").length; i++) 
                {
                    if(document.getElementById("cityList").options[i].selected == true)
                    {
                        $("#CityID").val(document.getElementById("cityList").options[i].value)
                        $("#CityName").val(document.getElementById("cityList").options[i].text)
                    }
                }
      

  3.   

    id 不应该设置为相同的,这是违背规则的,name可以相同
    每次点击下一行的dorpdownlist?
    你应该通过table的tr的 rowIndex去找所在的行。或者通过event.srcElement/e.target去找
      

  4.   


    就这个,直接获取目前响应的Element    function getEvent() {
            if (document.all) {
                return window.event; //如果是ie
            }
            func = getEvent.caller;
            while (func != null) {
                var arg0 = func.arguments[0];
                if (arg0) {
                    if ((arg0.constructor == Event || arg0.constructor == MouseEvent)
    || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
                        return arg0;
                    }
                }
                func = func.caller;
            }
            return null;
        }        var evt = getEvent();
            var element = evt.srcElement || evt.target;
      

  5.   

    "<select name=\"droUserName\"  id=\"droUserName\"  onchange=\"javascript:setvalue(this)\" style=\"height:22px;width:65px;\">" +
                                    "<option value=\"请选择\">请选择</option>" +
                                    "<option value=\"王弘力\">王弘力</option>" +
                                    "<option value=\"胡立聪\">胡立聪</option>" +
                                    "<option value=\"刘书地\">刘书地</option>" +
                                    "<option value=\"高见\">高见</option>" +
                                    "<option value=\"沈冲\">沈冲</option>" +
                                    "<option value=\"侯震宇\">侯震宇</option>" +
                                    "<option value=\"奚喆\">奚喆</option>" +
                                    "<option value=\"陈超\">陈超</option>" +
                                    "<option value=\"程晖\">程晖</option>" +
                                    "<option value=\"朱凌云\">朱凌云</option>" +
                                    "<option value=\"朱烨\">朱烨</option>" +
                                    "<option value=\"翟光明\">翟光明</option>" +
                                "<option value=\"吴敏\">吴敏</option>" +
                                "</select>";
    我是把 这个 循环了
    取我点击 的那个dropdomelist 的ID
      

  6.   

    再次给你说了
    id不能重复。循环取很简单啊r = document.getElementById("tableID")
    for(i=0;i<r.length;i++)
    {
     sel = r[i].getElementsByTagName("select")[0]
     alert(sel.id)
    }注意dropdownlist 转成客户端的html就是 select
      

  7.   

    本帖最后由 net_lover 于 2011-07-22 13:58:30 编辑
      

  8.   

    你数据表里没有主键什么的吗,没有的话用累加也行。相同的id肯定不行啊。
     for(int i=0;i<dt.rows.count;i++)
     {  
      stringbulid sb=new stringbulid ();
     
       int i=1;
       sb.append("<tr><td><select name="+i+"></td></tr>")
        i=i+1;   
     }大体就是这意思,可能有些语法没写严格
      

  9.   


    sel 未定义  那里错了 ?
      

  10.   

    my god!!  var sel;你写了没有 
      

  11.   

    for  循环都没进去
      

  12.   

     function setvalue(btn) {
                // alert(btn.value); //拿到选择值
                var index = btn.parentNode.parentNode.rowIndex;
                var tab = document.getElementById("tab"); //获得tab
    //            var dro = document.getElementById("droUserName").value;
    //           var droname = document.getElementsByName("droUserName");
    //            var dd = dro.selectedIndex.value;
    //            alert(dd);
    //           for (var h = 0; h < dro.length; h++) {
    //               if (dro.options[h].selected == true) {
    //                   alert(dro.options[h].value);
    //                }
                //            }
                var sel = null;
               for (h = 0; h < tab.length; h++) {
                   sel = tab[h].getElementsByTagName("select")[0]
                   alert(sel.id)
               }
               if (sel == "请选择") {
                   alert("请选择卡口人员!");
                   return false;
               }            //-------------------
                    for (var i = 0; i < 5; i++) {
                        var val = tab.rows[index].cells[17 + i].innerText;
                        if (val == sel) {
                            alert("该 卡口官员 已重复请重新选择!");
                            return false;
                        } else {
                            tab.rows[index + 3].cells[17].innerText = btn.value;
                            tab.rows[index + 4].cells[18].innerText = btn.value;
                            tab.rows[index + 5].cells[19].innerText = btn.value;
                            tab.rows[index + 1].cells[20].innerText = btn.value;
                            tab.rows[index + 2].cells[21].innerText = btn.value;
                        }
                        for (var j = 0; j < 14; j++) {
                            //alert(tab.rows[index].cells[3 + j].innerHTML);
                            if (tab.rows[index].cells[3 + j].innerText == val || tab.rows[index].cells[3 + j].innerText == sel) {
                                tab.rows[index].cells[3 + j].innerText = " ";
                            }
                        }
                    }                      isNull();
            }