Jqure实现下拉多选

时间:2023-12-02 18:27:50
  • Web
  1. ")
  2.                 {
  3.                     try
  4.                     {
  5.                         if (((string[])Session["obj"])[Convert.ToInt32(no) - 1] == "")
  6.                         {
  7.                             switch (defaultvalue)
  8.                             {
  9.                                 //add by chairuirui 2013-10-12 start QC注册小组登记表中的注册部门,默认就是创建者的部门
  10.                                 case "dept":
  11.                                     if (Session["UP"] != null)//add by chairuriui 2013-7-5 只有创建的时候才能是最新的数据赋值
  12.                                     {
  13.                                         //Add by zbl 2016-6-26 Start 部门质量目标检查管理,新建报告时,部门不能给默认值;否则,初始化时根据"部门"获取不到"编号"信息
  14.                                         ")
  15.                                         {
  16.                                             break;
  17.                                         }
  18.                                         //Add by zbl 2016-6-26 End 部门质量目标检查管理,新建报告时,部门不能给默认值;否则,初始化时根据"部门"获取不到"编号"信息
  19.                                         string upType = clsCommon.JsDecodeURIComponent(Session["ModelName"].ToString());
  20.                                         ((string[])Session["obj"])[Convert.ToInt32(no) - 1] = upType;
  21.                                         value = upType;
  22.                                     }
  23.                                     break;
  24.                                 //add by chairuirui 2013-10-12 end QC注册小组登记表中的注册部门,默认就是创建者的部门
  25.                                 default:
  26.                                     ((string[])Session["obj"])[Convert.ToInt32(no) - 1] = defaultvalue;
  27.                                     value = defaultvalue;
  28.                                     break;
  29.                             }
  30.                         }
  31.                         string titleType = "";
  32.                         titleType = contentValue;
  33.                         DataSet sel = IARREP.GetNameByGroup(titleType);
  34.                         string selectOnchangeFunction = string.Empty;//A1表TableType:02 责任单位NO:31
  35.                         string strOutsourcing = string.Empty;//外包/外购
  36.                         string strGroup = string.Empty;//集团内/集团外
  37.                         string[] strSelectedText = value.Split(new
    char[] { ';' });//选中项显示值
  38.                         // string[] sel = contentValue.Split(',');
  39.                         if (sel != null)
  40.                         {//onchange=onchangeSel('{0}',80,'{0}');SelectIndex({0}," + type + "," + Session["TYPE"].ToString() + ",'" + TileName + "')
  41.                             html.AppendFormat(@"<td {1} bgcolor='#F2F9FF' style='width:500px'><div style='position:relative'><input class='DXText' type='text' readonly='readonly' id='{0}' name='mytextbox' style='width:200px' value='{2}' /><div id='DXSelect' style='position:absolute; display:none; background:#DDEBFF; border:1px solid #8CE5FB; width:200px; top:26px; left:0px' ><ul id='ul_damainList'>", no, (selectOnchangeFunction == string.Empty ? "calss='view-item-td'" : "style='width:180px'"), value);
  42.                             int tnum = sel.Tables[0].Rows.Count;
  43.                             for (int i = 0; i < tnum; i++)
  44.                             {
  45.                                 string valname = sel.Tables[0].Rows[i]["modelName"].ToString();
  46.                                 #region Mod by tanpeng 2012-08-27 修改新建时生成下拉列表的选中
  47.                                 if (value != string.Empty)
  48.                                 {
  49.                                     if (i < strSelectedText.Length)//防止数组超出界限
  50.                                     {
  51.                                         if (strSelectedText[i] == valname)
  52.                                         {
  53.                                             //选中时
  54.                                             html.AppendFormat("<li style='list-style-type:none' class='oddli'><input type='checkbox' class='licheckbox' checked='checked' value='{0}'/>{0}</li>", valname);
  55.                                         }
  56.                                         else
  57.                                         {
  58.                                             html.AppendFormat("<li style='list-style-type:none' class='oddli'><input type='checkbox' class='licheckbox' value='{0}'/>{0}</li>", valname);
  59.                                         }
  60.                                     }
  61.                                     else
  62.                                     {
  63.                                         html.AppendFormat("<li style='list-style-type:none' class='oddli'><input type='checkbox' class='licheckbox' value='{0}'/>{0}</li>", valname);
  64.                                     }
  65.                                 }
  66.                                 else
  67.                                 {
  68.                                     html.AppendFormat("<li style='list-style-type:none' class='oddli'><input type='checkbox' class='licheckbox' value='{0}'/>{0}</li>", valname);
  69.                                 }
  70.                                 #endregion
  71.                             }
  72.                             html.AppendFormat("<li style='list-style-type:none'><input type='button' id='QDing' onclick=onchangeDX('{0}',0,'{0}');SelectIndex({0}," + type + "," + Session["TYPE"].ToString() + ") value='确定'/>&nbsp&nbsp&nbsp&nbsp<input type='button' id='QXiao' value='取消'/></li>", no);
  73.                             html.AppendFormat("</ul></div></div>");
  74.                             html.AppendFormat("</td>");
  75.                             if (((string[])Session["obj"])[Convert.ToInt32(no) - 1] == "")
  76.                             {
  77.                                 if (string.IsNullOrEmpty(defaultvalue))
  78.                                 {
  79.                                     defaultvalue = value;
  80.                                 }
  81.                                 ((string[])Session["obj"])[Convert.ToInt32(no) - 1] = defaultvalue;
  82.                                 ((string[])Session["obj2"])[Convert.ToInt32(no) - 1] = value;
  83.                             }
  84.                         }
  85.                     }
  86.                     catch (Exception ex)
  87.                     {
  88.                         throw
    new System.ArgumentOutOfRangeException("出现位置错误:", ex);
  89.                     }
  90.                 }
  • Javascript
  1. (function($) {
  2.             // 这里依然可以继续使用 jQuery 的 $
  3.             jQuery(".DXText").focus(function(){//聚焦执行函数
  4.                 jQuery("#DXSelect").show();//显示div
  5.             })
  6.             jQuery("#QXiao").click(function(){
  7.                 jQuery("#DXSelect").css("display","none");
  8.             })
  9.         })(jQuery);
  10.         //add gbb 2016/8/2 多选下拉框 start
  11.         function onchangeDX(no,type,typeNo){
  12.             var liLength = jQuery("#ul_damainList li.oddli").length;
  13.             var DXText;
  14.             for(var i = 0; i < liLength; i++){
  15.                 var inputElement = jQuery("#ul_damainList li.oddli input.licheckbox")[i];
  16.                 if (inputElement.checked) {
  17.                     if (DXText!=undefined) {
  18.                         DXText=DXText+inputElement.value+";";
  19.                     }else {
  20.                         DXText=inputElement.value+";";
  21.                     }
  22.                 }
  23.             }
  24.             if (DXText==undefined) {
  25.                 jQuery(".DXText").val("");
  26.             }else {
  27.                 jQuery(".DXText").val(DXText);
  28.             }
  29.             jQuery("#DXSelect").css("display","none");
  30.             _searchCont = "CLICK,selCom," + typeNo + "," + DXText;
  31.             CallServer(_searchCont, "下拉框选值");
  32.         }