Javascript 如何获得;“价值”;过滤器的选择<;选择>;在道场?
我正在使用dijit.form.FilteringSelect提供一种方法来从列表中选择值。问题是,在使用dojo时,返回的是标签而不是s的值 例如:Javascript 如何获得;“价值”;过滤器的选择<;选择>;在道场?,javascript,html,forms,dojo,Javascript,Html,Forms,Dojo,我正在使用dijit.form.FilteringSelect提供一种方法来从列表中选择值。问题是,在使用dojo时,返回的是标签而不是s的值 例如: 一个 两个 如果选择了该选项,Dojo将返回文本“one”,而不是该选项的值“1”。“2”和“2”也是如此 如果从该元素中删除dojo,则会按预期返回值。我发现dojo创建了2个元素。一个使用名称,它包含使用元素名称的值,另一个包含选项标签,它使用元素ID。由于我使用的是document.getElementById(),因此返回的值错误。使
一个
两个
如果选择了该选项,Dojo将返回文本“one”,而不是该选项的值“1”。“2”和“2”也是如此
如果从该元素中删除dojo,则会按预期返回值。我发现dojo创建了2个元素。一个使用名称,它包含使用元素名称的值,另一个包含选项标签,它使用元素ID。由于我使用的是document.getElementById(),因此返回的值错误。使用名称中的值可以提供正确的结果。dojo的方法是使用dijit.byId('yourDijitId').attr() 要获取所需的值,请执行以下操作:
dijit.byId('yourDijitId').attr('value');
要获取筛选中显示的值,请选择:
dijit.byId('yourDijitId').attr('displayedValue');
EDIT:attr()在1.5版本中被弃用,遇到了相同的问题并提出了此解决方案
var optVal = dijit.byId("yourDijitId").item.value;
FilteringSelect小部件将“显示值”放入
displayValue
和Value
属性中。我发现获取选项值的唯一方法是通过列出所选选项属性的项属性。获取dijit.form.FilteringSelect的值
dijit.byId('yourId').get('value');
dijit.byId('yourId').get('displayedValue');
要获取dijit.form.FilteringSelect的显示值,请选择
dijit.byId('yourId').get('value');
dijit.byId('yourId').get('displayedValue');
对于那些试图在FilteringSelect中找到所选对象的Google同事:
dijit.byId("yourDijitId").item
在需要访问对象的其他属性时,引用选定项
(用dijit.byId(“yourDijitId”).item.value向右方向指向Bitwize的帽子提示)什么是“dojo正在返回值”。还是你把这张表格寄出去?如果是这样的话,如何通过正常的HTTP post或dojo XHR请求,或者您是否试图通过JS使用dojo.getValue来读取该值。需要一套更完整的代码来提供帮助。它的行为与mctom987所说的一模一样。这可能是因为Swigley编辑了这个问题。是的,所以您需要使用Swingley声明的dijit API。使用document.getElementByid或jquery将产生不同的结果。现在不推荐使用attr。您应该使用get。例如dijit.byId('yourDijitId').get('value');