【发布时间】:2015-09-22 09:06:25
【问题描述】:
我正在尝试通过 jQuery 选择 FormView 的 DropDownList 的值。 我使用的代码不起作用,但我不明白为什么:
$("input[id$='_ddlwidget']").val(_data[0]);
调试它显示该行执行没有问题,但 DropDownList 项没有改变。
DropDownList 是这样定义的:
<asp:FormView
ID="_fvData"
runat="server"
DataKeyNames="id"
DataSourceID="_sdsTable2"
DefaultMode="Insert" Width="100%">
<InsertItemTemplate>
<asp:DropDownList ID="_ddlwidget" runat="server" DataSourceID="_sdsTable1"
DataTextField="text_field1" DataValueField="text_field2"
AppendDataBoundItems="true" SelectedValue='<%#Bind("_field2")%>'>
</InsertItemTemplate>
</asp:FormView
【问题讨论】:
-
你检查过身份证吗?除非您更改它,否则 asp.net 会自动生成 id,它们不会在呈现的标记中匹配。您可以使用 来获取要在 aspx 页面中引用的 ID,或者使用 ClientIDMode=static 将服务器端标记设置为静态
-
Eric ... 上面编写的 javascript 代码适用于 asp.net “生成”的所有字段。事实上,如果我调试 javascript 代码,我不会出错,也不会出现异常。如果我拼错了 id,则从 JQuery 选择返回的对象应该是
null,因此调用.val()将导致异常。 -
它也应该为空,因为下拉列表不是“输入”,而是“选择”。所以你必须有另一个名为 _ddlwidget 的输入元素。
-
你好@Eric ...这将是一个大谜团...现在johnnyRose提供的代码正在运行。关于
$("input[id$='_ddlwidget']")返回的值,我可以证明它没有返回null值.. 否则我的代码中的所有_ddl*项目都是DropDownList ...正如您所建议的那样,问题可能是id ...
标签: c# jquery asp.net jquery-selectors html-select