JQuery选择器问题

时间:2009-06-29 12:44:07

标签: jquery

我在主页面中有一个asp.net控件,所以我认为以下选择器会为我的下拉列表提供选定的选项,但它是正确的。

$("#input[id$='ddlTags'] option:selected")

任何人都能解释一下吗?

感谢。

4 个答案:

答案 0 :(得分:6)

您的问题是您的字符串会查找ID为“input”和“ddlTags”的项目

尝试将其更改为

$("input#ddlTags option:selected")

甚至只是

$("#ddlTags option:selected")

有关按ID选择的详细信息,请参阅http://docs.jquery.com/Selectors/id

修改

因为你需要它来存活,所以试试

$("input[id$=ddlTags] option:selected")

与原始版本相同,不同之处在于它现在查找“input”标签而不是ID为“input”的标签

答案 1 :(得分:1)

$(#[id $ ='ddlTags']选项:已选中)

似乎已经奏效。

答案 2 :(得分:1)

有时,对于母版页或转发器中的元素,控件的实际客户端ID会受到严重破坏。但是,您可以在JavaScript中将客户端ID发送给客户端。我将假设您的控件名为ddlTags。 :)

$('#<%= ddlTags.ClientID %> option:selected')

这将为您提供一个包含所有选定选项标签的jQuery对象。但是,由于你使用的是ddl,我假设它只是一个选择。如果您想要的只是选择的值,您可以更简单一些。

$('#<%= ddlTags.ClientID %>').val()

它为您提供该元素中所选项目的值。

&lt;%=是“在渲染时将此片段回显给客户端”的简写。这是与jQuery结合使用的一个非常方便的部分。

实际上,你想使用像这样的基于ID的选择器而不是像输入[id =&lt;%= ddlTags.ClientID%&gt;]这样的东西,因为那时jQuery可以使用浏览器原生函数来进行选择我的跑得快一点。

答案 3 :(得分:0)

#代表ID,所以现在你要求ID =“input [id $ ='ddlTags']的元素。