Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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在Spotfire Webplayer中的行为不同_Javascript_Jquery_Html_Spotfire - Fatal编程技术网

Javascript在Spotfire Webplayer中的行为不同

Javascript在Spotfire Webplayer中的行为不同,javascript,jquery,html,spotfire,Javascript,Jquery,Html,Spotfire,我实现了一些功能,用户可以使用输入字段和下拉菜单过滤数据 因此,用户可以从该列表中选择一个项目(例如,最后…天或选择日期范围),然后在输入字段中输入数字/日期。然后使用脚本显示相应的输入字段并隐藏其余字段。 编辑:上周我从7.0升级到Spotfire 7.5。现在,此脚本在桌面客户端上也不起作用 这是我在网络播放器中得到的: 你知道为什么会这样吗? 这是我的HTML: Select Period:<span id="PeriodSelector"><SpotfireCont

我实现了一些功能,用户可以使用输入字段和下拉菜单过滤数据

因此,用户可以从该列表中选择一个项目(例如,最后…天或选择日期范围),然后在输入字段中输入数字/日期。然后使用脚本显示相应的输入字段并隐藏其余字段。 编辑:上周我从7.0升级到Spotfire 7.5。现在,此脚本在桌面客户端上也不起作用

这是我在网络播放器中得到的:

你知道为什么会这样吗? 这是我的HTML:

Select Period:<span id="PeriodSelector"><SpotfireControl id="306fdd699c4346dbb7265c1d101fa6cf" /></span >
<span id="SelectBeginDate" style ="padding-left:1em;" > Select Begin Date:<SpotfireControl id="16b0eab3d5e3497bb2ecea3b051d2b62" /></span >
<span id="SelectEndDate" style = "padding-left:1em;">   Select End Date:<SpotfireControl id="46ac3d97e3b04af182b8b9d2462a7d27" /></span >
<span id="SelectDate"style = "padding-left:1em;">   Select Date:<SpotfireControl id="6838924384aa4567bc3bcf9da5a74c32" /></span >
<span id="LastXDays" style = "padding-left:1em;">   Number of Days:<SpotfireControl id="218b27e83771401dbbd75613acfd619b" /></span >
网络播放器似乎无法检索下拉框的值,但我不知道为什么不能


非常感谢您的帮助。

我对javascript了解不够,无法告诉您原因,但基于我的测试和示例,以下代码可能适用于您:

$("#306fdd699c4346dbb7265c1d101fa6cf").change(function() {
     $("option:selected",this).text()=="Select Date"?
      $("#SelectDate).fadeIn() & $("#SelectBeginDate").fadeOut() & $("#SelectEndDate").fadeOut() & $("#LastXDays").fadeOut():
      $("option:selected",this).text()=="Select Date Range"?
       $("#SelectDate).fadeOut() & $("#SelectBeginDate").fadeIn() & $("#SelectEndDate").fadeIn() & $("#LastXDays").fadeOut():
       $("option:selected",this).text()=="Select  Last … Days"?
        $("#SelectDate).fadeOut() & $("#SelectBeginDate").fadeOut() & $("#SelectEndDate").fadeOut() & $("#LastXDays").fadeIn():
        $("#SelectDate).fadeOut() & $("#SelectBeginDate").fadeOut() & $("#SelectEndDate").fadeOut() & $("#LastXDays").fadeOut()

})

因此,在与Tibco支持部门联系后,似乎确实不支持.change()函数

在Spotfire 7.5中,属性控件不再使用标准JavaScript输入类型(例如select标记)来实现。在7.5中,这些控件现在使用一系列div标记来实现,它们没有任何要触发的“更改”事件

不支持使用JavaScript/JQuery操纵控件或添加事件,因为它们可能会发生更改。建议使用JavaSript仅处理HTML。如果需要解决方法,可以创建输入控件并使用JS对其进行弹出

也就是说,我确实找到了使用setInterVal()的解决方法。该代码与我的原始帖子相同,只是我在textfield中使用了一个隐藏的计算值来将document属性中的值写入

......

setInterval(
function(){
    ...........
    var valueText= document.getElementById("Hidden").textContent;
    ...........
}, 1000);
其中隐藏的是包含计算值的span/div。
希望这有帮助

这是Spotfire版本<7.5的有效答案。有关Spotfire 7.5,请参阅我的答案。我非常相信版本升级。
......

setInterval(
function(){
    ...........
    var valueText= document.getElementById("Hidden").textContent;
    ...........
}, 1000);