我有以下函数,单击该函数将遍历我的ASP.NET ListBox
中的 * 所有 * 项:
$('#<%=MyListBox.ClientID %>').children("option").each(function () {
}
我不想改变上面的这个函数,因为对于外部函数,我需要遍历 all 项来处理一些逻辑。但是在内部,我需要查看焦点中的项是否被选中,并且不能得到正确的结果。我已经搜索了大量的帖子,可以使函数只返回选中的项,但是我想检查一下这个函数中的当前项是否被选中。
我试探着:
if ($(this).selected())
......然后抛出错误,声明为object not supported
。我还尝试:
if ($(this).selected == true)
......它说selected
是未定义的,但当我看$(this)
时,selected
的值是false
。
如何在函数中检查循环中的当前项是否为selected
?
3条答案
按热度按时间rslzwgfq1#
应该足够了,如果没有,那么
this
并不指你所认为的它的作用。如果
option
没有selected
属性,那么你将得到undefined
--因为这个属性不存在。因为undefined
是错误的。请注意,您将收到与所描述的两种情况相应的错误消息。
http://jsfiddle.net/R6KA8/
5tmbdcev2#
我在如何确定是否选择了
option
值中解决了这个问题。我使用了prop()
method from jQuery,如下所示:fgw7neuy3#
试试看:ddlListItems是列表框的ID