2013-10-03 8 views
0

Я пытаюсь создать DropDownList с помощью div и jquery (чтобы я мог стилизовать его так, как я хочу) ... и его работа, но проблема в том, что я не могу получить выбранное значение из списка. .Извлечь текст из div

После выбора опции я копирую выбранное значение в div. И я хочу извлечь его с помощью C# (на странице .aspx.cs) ... Я попытался сделать это, используя строку строитель и innerHtml (после добавления RUNAT = "сервер" в DIV) .. но это не работает ... код выглядит следующим образом

.aspx Страница:

<div class="ddl"> 
    <div id="lowertriangle" class="lowertriangle"></div> 
    <div id="uppertriangle" class="uppertriangle"></div> 
    <div id="label" class="labeldiv_dd" runat="server"></div>//***This is the div from which I want to extract value*** 
    <div id="options" class="optionsidv_dd"> 
     <ul id="options_ul"> 
      <li id="0">Select One Option</li> 
      <li id="1">Option 1</li> 
      <li id="2">Option 2</li> 
      <li id="3">Option 3</li> 
      <li id="4">Option 4</li> 
      <li id="5">Option 5</li> 
     </ul> 
    </div> 
</div> 

aspx.cs страница

Метод 1, что я пробовал:

string sel_text = label.InnerHtml; 
display_sel_value.Text = sel_text.ToString(); 

второй метод:

var sb = new StringBuilder(); 
label.RenderControl(new HtmlTextWriter(new StringWriter(sb))); 

string s = sb.ToString(); 

Просьба указать на мои ошибки и помочь мне в этом отношении (в извлечении innerHTML из div, который есть). Thanks

+1

$ ("#label") .html(); –

+0

Что такое «a» div? Вы имеете в виду лейбл div? –

+1

Проблема заключается в том, что вы не используете выделение. Таким образом, на сервере нет ничего [POST] (http://en.wikipedia.org/wiki/POST_ (HTTP)). Почему вы пытаетесь использовать UL в качестве выбора? Для стиля? – Liam

ответ

2

Нет, размещение контента в div не будет работать.

Ваш пример неполный, чтобы увидеть все, что происходит, но давайте предположим, что вы в стандарте <form>, вы устанавливаете внутренний HTML div в значение с помощью Javascript, а затем отправляете в стандартный способ.

Тогда один из способов сделать то, что вы хотите, это использовать скрытый ввод и установить его атрибут value вместо его содержимого.

<input id="label" class="labeldiv_dd" runat="server" type="hidden"> 

В коде, С # может извлечь значение из этого элемента управления после подачи с .Value имущества.

0

Ok ребята ТНХ для replies..I нашел способ обойти эту проблему ... Я использовал контроль скрытый, чтобы сохранить выбранное значение с помощью JQuery, как так

$("#options_ul li").click(function() { 
      var text = this.innerHTML; 
      ***$('#<%= selectedvalue.ClientID %>').val(text);*** 
      $("#options_ul li").css("background-color", "#c2c2c2"); 
      $(this).css("background-color", "white"); 
      //var prev = this.id; 
      //document.getElementById("label").innerHTML = text; 
      toggleHeight(); 
     }); 

, а затем доступа к его стороне сервера с помощью

selectedvalue.value; 

PS: "SelectedValue" является идентификатор контроля

скрытого
Смежные вопросы