Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获得;“价值”;过滤器的选择<;选择>;在道场?_Javascript_Html_Forms_Dojo - Fatal编程技术网

Javascript 如何获得;“价值”;过滤器的选择<;选择>;在道场?

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(),因此返回的值错误。使

我正在使用dijit.form.FilteringSelect提供一种方法来从列表中选择值。问题是,在使用dojo时,返回的是标签而不是s的值

例如:

一个
两个

如果选择了该选项,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');