Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 ColdFusion:修改cfgrid中的组合框选项_Javascript_Html_Dom_Extjs_Coldfusion - Fatal编程技术网

Javascript ColdFusion:修改cfgrid中的组合框选项

Javascript ColdFusion:修改cfgrid中的组合框选项,javascript,html,dom,extjs,coldfusion,Javascript,Html,Dom,Extjs,Coldfusion,我有一个带一个的。我正在使用该列的“值”属性: “值”属性会在用户编辑“名称”列中的单元格时显示一个组合框: 我需要在不重新加载页面的情况下动态更改该组合框的选项列表。在对stackoverflow.com等网站进行了大量研究之后,我得出结论说,没有ColdFusion方法可以做到这一点,所以我想我应该使用JavaScript。为了找到组合框的id,我查看了页面的HTML源代码,发现如下内容: 项目1 项目2 所以,我想要的id是cf\u grid\u select0。但是,document.

我有一个带一个的。我正在使用该列的“值”属性:

“值”属性会在用户编辑“名称”列中的单元格时显示一个组合框:

我需要在不重新加载页面的情况下动态更改该组合框的选项列表。在对stackoverflow.com等网站进行了大量研究之后,我得出结论说,没有ColdFusion方法可以做到这一点,所以我想我应该使用JavaScript。为了找到组合框的id,我查看了页面的HTML源代码,发现如下内容:

项目1 项目2 所以,我想要的id是cf\u grid\u select0。但是,document.getElementById找不到此元素。我还使用FireBug检查了页面,在DOM选项卡上找不到cf\u grid\u select0元素。它作为原始HTML文本包含在document.body.innerHTML中,但不作为DOM中自己的元素

以下是我尝试查找cf\u grid\u select0的代码:

函数查找{ var cbxFind=document.getElementById“cf_grid_select0”; 如果发现cbxFind警报; 未找到else警报; } 当我单击“查找”按钮时,会弹出一个对话框,说“未找到!”

我的问题是:使用JavaScript或jQuery,如何定位我的浏览器显然知道但似乎不在DOM中的文件?我怀疑ColdFusion.getGridObject可能就是我要寻找的对象,但我也找不到使用该方法选择组合框的方法

谢谢大家!

更新:
似乎ColdFusion正在使用ExtJS在页面加载后将转换为组合框,显然是从DOM中删除了。我现在正在研究如何定位ExtJS组合框。

我几乎肯定会使用jQuery!试试这个:

<script>
$(document).ready(function() {

var $mySelect = $("#cf_grid_select0");
alert("I found it..." + $mySelect.attr("id"))

});
</script>
祝你好运

忍者编辑


如果您正在查看真实的源代码,那么它位于DOM中。如果您正在查看生成的JS类源代码,那么这很棘手,但我认为jQuery无论如何都可以检测添加到DOM中的新元素。

我几乎肯定会使用jQuery!试试这个:

<script>
$(document).ready(function() {

var $mySelect = $("#cf_grid_select0");
alert("I found it..." + $mySelect.attr("id"))

});
</script>
祝你好运

忍者编辑


如果您正在查看真实的源代码,那么它位于DOM中。如果您正在查看生成的JS类源代码,那么这很棘手,但我认为jQuery无论如何都可以检测添加到DOM中的新元素。

非常有趣:这很有效,但只在编写时加载页面。如果我使用var$mySelect=$cf\u grid\u select0;在“查找”功能中,当我单击“查找”按钮时,查找失败。我进一步扫描了页面源代码,注意到一些ExtJS代码正在将cf_grid_select0转换为一个组合框,显然是从DOM中删除了源代码。我将尝试使用ExtJS定位并重新填充组合框+谢谢你让我朝着正确的方向前进!好的,jQuery需要放在不同的“ready”函数中;无论是“文档”还是“窗口”等等,我都不会将jQuery置于此之外。jQuery非常好,因为它可以自动处理整个DOM更改。我现在有点醉了,如果这不太有意义的话,我很抱歉。非常有趣:这很有效,但只在你写的时候加载页面。如果我使用var$mySelect=$cf\u grid\u select0;在“查找”功能中,当我单击“查找”按钮时,查找失败。我进一步扫描了页面源代码,注意到一些ExtJS代码正在将cf_grid_select0转换为一个组合框,显然是从DOM中删除了源代码。我将尝试使用ExtJS定位并重新填充组合框+谢谢你让我朝着正确的方向前进!好的,jQuery需要放在不同的“ready”函数中;无论是“文档”还是“窗口”等等,我都不会将jQuery置于此之外。jQuery非常好,因为它可以自动处理整个DOM更改。我现在有点醉了,如果这不太合理,我很抱歉。