如何添加图像选项以在页面加载期间选择?

时间:2016-07-18 09:05:57

标签: javascript c# html asp.net

现在我有一个dropDownList,它是一个" Select"使用"选项"进行HTML控制元素并且已经是runat =" server",这里是代码:



<select name="webmenu" id="webmenu" class="fWidth" runat="server">
  <option value="calendar" data-image="TempImages/AldiBl.png">Aldi</option>
  <option value="shopping_cart" data-image="TempImages/Norma.png">Norma</option>
  <option value="cd" data-image="TempImages/AldiBl.png">Aldi</option>
  <option value="email" selected="selected" title="TempImages/AldiBl.png">Aldi</option>
  <option value="fam" data-image="TempImages/AldiBl.png">Aldi</option>
  <option value="games" data-image="TempImages/AldiBl.png">Aldi</option>
</select>
&#13;
&#13;
&#13;

带有元素的列表我可以从后面的代码访问,但我的问题是我需要添加元素,上面的只是一个例子,这样做我有一个javascript函数添加元素,在这里它是:

&#13;
&#13;
function showAccounts(names, images) {
  var namesArray = names.split(",");
  var imagArray = images.split(",");

  for (var ro = 0; ro < namesArray.length; ro++) {
    $('#menuName').append($("<option value='" + namesArray[ro] + "' data-image='" + imagArray[ro] + "'>" + namesArray[ro] + "</option>"));
  }
  return false;
}
&#13;
&#13;
&#13;

元素很好地添加和显示但是当从后面的代码访问时,它们不存在于我可以理解的列表中,因为它们是在客户端创建的,所以这是我的问题,如何将带有图像的元素添加到我的& #34;选择&#34;代码背后的元素,所以我可以从后面的代码访问它们?

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

试试这个:

    private ListItem CreateListItem(string value, string text, string dataImage) {
        ListItem li = new ListItem() { Value = value, Text = text };
        li.Attributes["data-image"] = dataImage;
        return li;
    }

    protected void Page_Load(object sender, EventArgs e) {
        List<ListItem> lis = new List<ListItem>();
        lis.Add(CreateListItem("test1", "blah1", "test.png"));
        lis.Add(CreateListItem("test2", "blah2", "test2.png"));
        lis.Add(CreateListItem("test3", "blah3", "test3.png"));

        if (!IsPostBack) {
            foreach (ListItem li in lis)
                webmenu.Items.Add(li);
        }
        else { 
            // persist custom attributes 
            for (int i = 0; i < webmenu.Items.Count; i++)
                webmenu.Items[i].Attributes["data-image"] = lis[i].Attributes["data-image"];
        }
    }

在回发后,您可以使用webmenu.SelectedItem.Value和webmenu.SelectedItem.Attributes [“data-image”]

检索值