获取文本选择 Runat="Server"

Posted

技术标签:

【中文标题】获取文本选择 Runat="Server"【英文标题】:Get Text Select That Runat="Server" 【发布时间】:2011-07-14 23:14:03 【问题描述】:
   <select   id="Select1">
         <option>1</option>
         <option>2</option>
         <option>3</option>
  </select>

alert($("#Select1").val());

此代码正确并返回当前值。

但是

   <select runat="server"   id="Select1">
         <option></option>
  </select>

function parseXmlQuestion(xml)


   $(xml).find("Question").each(function()
   
     var value=$(this).find('Text').text()
     $('#<%=Select1.ClientID %>').
      append($("<option></option>").
      attr("value",value).
      text(value)); 
   );

alert( $('#<%=Select1.ClientID %>').val());
alert( $('#<%=Select1.ClientID %> option:selected').val());

alert( $('#<%=Select1.ClientID %>').text());
alert( $('#<%=Select1.ClientID %> option:selected').val());

alert( $('#<%=Select1.ClientID %>').html());
alert( $('#<%=Select1.ClientID %> option:selected').val());

返回 null 或未定义。

【问题讨论】:

它实际上是附加option元素吗?当您在客户端检查它时(使用 FireBug 之类的东西)实际发生了什么?第二个例子比仅仅是runat="server"。 span> &lt;%=Select1.ClientID %&gt; shotos返回什么? span> 你为什么重新发布这个问题? ***.com/questions/5297778/get-current-text-select 首先,你需要把';'在 var value=$(this).find('Text').text() 的末尾 在你的 each() 调用中发出警报,并确保它正在触发 【参考方案1】:

好吧,你有点奇怪,每次你回答的时候,你对我们的帮助就更少了……

这是你应该做的。

    测试这是否返回正确的 id。 &lt;%=Select1.ClientID %&gt; 应该是 Select1 检查你的xml,也就是说,正确的,(最好使用json,它更容易)包括你的xml标签的大写。 console.log(value)alert(value) 如果你还没有进化,也可以这样做:) parseXmlQuestion() 应该在页面上的某处被调用,否则你只是让一只坐着的鸭子没有被射中或者没有告诉它运行

【讨论】:

【参考方案2】:

你需要从

中删除&lt;option&gt;&lt;/option&gt;
   <select runat="server"   id="Select1">
         <option></option> <-- your values get added after this so probably the null is coming from here
  </select>

应该是这样的

   <select runat="server"   id="Select1"></select>

【讨论】:

从哪里删除 option? 在 html 代码中删除脚本错误说追加未定义 不知道你的意思,但只从html 中删除它...不要从脚本中删除它...不要删除select 只是删除option 元素 &lt;%=Select1.ClientID %&gt; 可能为空或NULL 所以$('#').append(...) 会导致错误

以上是关于获取文本选择 Runat="Server"的主要内容,如果未能解决你的问题,请参考以下文章

何时在普通 HTML 上使用 runat="server"

添加 runat="server" 时 Datepicker 不工作

select选中的值刷新页面后保持原来的选项

ASP.NET 中 使用datepicker 日期选择的时候,如果INPUT控件或者TEXTBOX控件写了runat="server" 就无法调用

转载写runat="server"有什么用

智能提示文本框输入的字符长度 asp.net中如何实现。