【问题标题】:ASP.NET databound dropodownlist set value with jQuery用 jQuery 设置 ASP.NET 数据绑定下拉列表的值
【发布时间】: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


【解决方案1】:

假设 data[0] 是该 DropDownList 的有效选项,只需使用普通的 jQuery id selector

$('#_ddlwidget').val(_data[0]);

应该没问题。

【讨论】:

  • thnx 但这不起作用(我检查过).. 但可能我用我的代码愚弄了你现在请看一下 asp.net 代码,我认为它现在更清洁了..跨度>
  • 你试过了吗?这是在 jQuery 中设置值的一种非常标准的方法。
  • 是的,我试过了...我会尝试通过 IE 调试它,但到目前为止,我可以证明它没有按预期工作,值没有改变(因为它不是我的代码) .
  • 你能发布你的整个视图吗?包括所有的 JavaScript?
  • 整个代码对于这个来说有点太大了。你需要知道什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 2023-03-13
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多