我在主页面中有一个asp.net控件,所以我认为以下选择器会为我的下拉列表提供选定的选项,但它是正确的。
$("#input[id$='ddlTags'] option:selected")
任何人都能解释一下吗?
感谢。
答案 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']的元素。