我想知道这是怎么可能的,我错过了什么吗?我有一个选择元素,默认情况下选择的选项是顶部的空白,请参见下面的屏幕截图。
但当我检查该元素以查看所选选项的内容时,它会显示13作为值。
关于问题和我正在做的事情的一点背景;在第一页上,我选择一个值基于下拉列表,其中包含图像中显示的组。然后,我导航到另一个页面,并将所选值作为参数值传递到url中。
下一页有一个页面加载设置页面,在我设置的预渲染事件中,选择控件的值为""
,与url参数中传递的值相反。所以我期待选择元素是最重要的元素,并检查它是真的。但是当使用jquery时,它会返回我从上一页传递的值。我认为这是一个jquery问题所以我使用原始java脚本,它返回上一页中的选定值(见下面的屏幕截图)。
我尝试的另一件事是在我的代码drpCtrl.SelectedValue = valStr
中,当我触发OnPreRenderComplete时,我将valStr
设置为""
,我将其设置为硬编码值并强制执行下拉以按预期选择正确的,前一页从前一页传递。
这让我想到,当document.ready
为""
时,某处必须设置$(...).val()
。所以我开始寻找,因为现在还没有找到任何东西。但后来我一直在想,这怎么可能?我知道可以更改所选值而不更改哪个选项具有所选属性。这就是$(... option:selected).val()
和$(... option:selected).val()
可以返回不同值的原因。我的经验一直是""
返回带有所选属性的选项。
有谁知道这里发生了什么?是否将值设置为Traceback (most recent call last):
File "t.py", line 23, in <module>
b = Application(root)
File "t.py", line 15, in __init__
self.QUIT = tk.Button(frame, text = 'Quit', fg = 'Red', command = self.quit())
File "/usr/lib/python3.6/tkinter/__init__.py", line 1283, in quit
self.tk.quit()
AttributeError: 'Application' object has no attribute 'tk'
?
答案 0 :(得分:0)
:selected
将获取selected
prop 设置为true的元素,[selected]
将获取具有selected
<的元素EM>属性
$(function() {
$('select').val('12');
console.log($('option:selected').val());
console.log($('option[selected]').val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option selected/>
<option value="12">12</option>
</select>
&#13;
答案 1 :(得分:0)
jQuery .val()函数在选择列表上运行,而不是选项元素,因此如果您使用以下代码,则代码应该有效:
$("#ct100_ct100_contentBody_LendingGroup").val()