获取文本选择 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>
<%=Select1.ClientID %>
shotos返回什么? span>
你为什么重新发布这个问题? ***.com/questions/5297778/get-current-text-select
首先,你需要把';'在 var value=$(this).find('Text').text() 的末尾
在你的 each() 调用中发出警报,并确保它正在触发
【参考方案1】:
好吧,你有点奇怪,每次你回答的时候,你对我们的帮助就更少了……
这是你应该做的。
-
测试这是否返回正确的 id。
<%=Select1.ClientID %>
应该是 Select1
检查你的xml,也就是说,正确的,(最好使用json,它更容易)包括你的xml标签的大写。 console.log(value)
或 alert(value)
如果你还没有进化,也可以这样做:)
parseXmlQuestion()
应该在页面上的某处被调用,否则你只是让一只坐着的鸭子没有被射中或者没有告诉它运行
【讨论】:
【参考方案2】:你需要从
中删除<option></option>
<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
元素
<%=Select1.ClientID %>
可能为空或NULL
所以$('#').append(...)
会导致错误以上是关于获取文本选择 Runat="Server"的主要内容,如果未能解决你的问题,请参考以下文章
添加 runat="server" 时 Datepicker 不工作
ASP.NET 中 使用datepicker 日期选择的时候,如果INPUT控件或者TEXTBOX控件写了runat="server" 就无法调用