2

我有 jQuery UI 多选。我需要在代码隐藏中单击按钮时选择的值。

.aspx 页面:

 <select id="countries" runat="server" class="multiselect" name="countries[]">
    </select>

    <asp:Button id="Submit" runat="server" OnClick="btn_OnClick"></asp:Button>

.cs 页面:

protected void Page_Load(object sender, EventArgs e) {
   countries.Attributes.Add("multiple", "multiple");
   for(int i=0; i<10; i++) {
      countries.Items.Add(i.ToString());
    }
 }

protected void btn_OnClick(object sender, EventArgs e) {   }​
4

2 回答 2

1

您需要将您的选择元素更改为此(选项只是示例):

<select runat="server" id="countries" multiple="true" class="multiselect">
    <option label="1" value="1" />
    <option label="2" value="2" />
    <option label="3" value="3" />
    <option label="4" value="4" />
    <option label="5" value="5" />
</select>

您省略了 runat="server",并且 multiple 属性必须为 true 而不是“multiple”。ASP.NET 将为您处理 name 属性。

在后面的代码中,您将需要遍历所有 select 的项目并检查它们的 selected 属性,如下所示:

protected void btn_OnClick(object sender, EventArgs e)
{
    for (int i = 0; i < countries.Items.Count; i++)
    {
        if (countries.Items[i].Selected)
        {
            // do something
            // countries.Items[i].Value;
        }
    }
}
于 2012-08-31T13:00:21.593 回答
1

.aspx 页面:

<link rel="stylesheet" href="css/common.css" type="text/css" />
<script type="text/javascript" src="js/page.js"></script>
    <link type="text/css" rel="stylesheet" href="css/themes/smoothness/jquery-ui-1.7.1.custom.css" />
    <link type="text/css" href="css/ui.multiselect.css" rel="stylesheet" />
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <link href="js/style.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script>
    <script type="text/javascript" src="js/plugins/localisation/jquery.localisation-min.js"></script>
    <script type="text/javascript" src="js/plugins/tmpl/jquery.tmpl.1.1.1.js"></script>
    <script type="text/javascript" src="js/plugins/blockUI/jquery.blockUI.js"></script>
    <script type="text/javascript" src="js/ui.multiselect.js"></script>

    <script type="text/javascript">
        $(function () {
            // remote
            $("#languages").multiselect({

            });

        });
    </script>




     <form target="submitFrame" runat="server">
<div>
       <dl>
           <dd>
          <select id="languages" class="multiselect" runat="server" name="languages[]">
           </select>
          </dd>
       </dl>
</div>
<div class="optionWrapper">
  <div class="optionInput">
    <input id="ec_checkValues" type="button" class="button" value="Assign Employees" />
     Selected Employees:
       <input id="hdn" type="text" />
   </div>

.cs 页面:

 protected void Page_Load(object sender, EventArgs e)
    {
        languages.Attributes.Add("multiple", "multiple");
        DataTable dt = obj.GetDataStoreInTable("Select top 10 intslno, nvrempname from tblHRIMS_employeedetail");
        languages.DataSource = dt;
        languages.DataTextField = "nvrempname";
        languages.DataValueField = "intslno";
        languages.DataBind();
    }
于 2012-09-04T12:04:01.967 回答