【问题标题】:Extract text from a div从 div 中提取文本
【发布时间】:2013-10-03 12:31:17
【问题描述】:

我正在尝试使用 divs 和 jquery 制作一个 DropDownList(这样我就可以根据需要设置它的样式)......它可以工作,但问题是我无法从列表中获取选定的值......

选择选项后,我将选定的值复制到 div 中。我想使用 c#(在 .aspx.cs 页面中)提取它...我尝试使用字符串生成器和innerHtml(在将runat="server"添加到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 页面

我试过的方法一:

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();

请指出我的错误并在这方面帮助我(在提取 div 的 innerHTML 时)。 谢谢

【问题讨论】:

  • $( "#label" ).html();
  • 什么是“a”div?你是说标签 div?
  • 问题是你没有使用选择。所以服务器上没有任何POSTed。为什么要尝试使用 UL 作为选择?为了风格?
  • 好的,那么你究竟是如何将文本复制到 div 中的?
  • 正如@Liam 指出的,您需要将数据发送回服务器。您可以通过将它放在表单元素中(一个示例是隐藏输入)并提交(发布)表单来做到这一点,或者您可以使用客户端脚本请求(jQuery ajax 调用)来发送数据。

标签: c# jquery html asp.net


【解决方案1】:

不,将内容放在 div 中是行不通的。

您的示例还不够完整,无法看到发生的所有情况,但我们假设您在标准 &lt;form&gt; 中,您正在使用 Javascript 将 div 的内部 HTML 设置为一个值,然后您提交标准方式。

那么一种方法是使用隐藏输入并设置其value 属性而不是其内容。

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

在代码隐藏中,C# 可以在使用 .Value 属性提交后从此控件中检索值。

【讨论】:

    【解决方案2】:

    好的,谢谢你的回复..我找到了解决问题的方法...我使用 HiddenField 控件使用 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”是id的hiddenfield控件

    【讨论】:

      猜你喜欢
      • 2011-03-28
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      相关资源
      最近更新 更多