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

因此,用户可以从该列表中选择一个项目(例如,Last ... Days或Select Date Range),然后在输入字段中输入数字/日期。然后,该脚本用于显示相应的输入字段并隐藏其余的字段。
编辑:上周我从7.0更新到Spotfire 7.5。现在,此脚本也无法在桌面客户端上运行。

javascript - Javascript在Spotfire网络播放器中的行为有所不同-LMLPHP

这是我在网络播放器中得到的:
javascript - Javascript在Spotfire网络播放器中的行为有所不同-LMLPHP

知道为什么会这样吗?
这是我的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 >


这是我的脚本:

$("#306fdd699c4346dbb7265c1d101fa6cf").change(function() {
    var valueText = $("#306fdd699c4346dbb7265c1d101fa6cf option:selected").text();
    if(valueText ==="Select Date"){
        $("#SelectDate").css('display','inline');
        $("#SelectBeginDate").css('display','none');
        $("#SelectEndDate").css('display','none');
        $("#LastXDays").css('display','none');
    } else if (valueText ==="Select Date Range"){
        $("#SelectDate").hide();
        $("#SelectBeginDate").css('display','inline');
        $("#SelectEndDate").css('display','inline');
        $("#LastXDays").css('display','none');
    } else if (valueText ==="Select  Last … Days"){
        $("#SelectDate").css('display','none');
        $("#SelectBeginDate").css('display','none');
        $("#SelectEndDate").css('display','none');
        $("#LastXDays").css('display','inline');
    } else {
        $("#SelectDate").css('display','none');
        $("#SelectBeginDate").css('display','none');
        $("#SelectEndDate").css('display','none');
        $("#LastXDays").css('display','none');
    }
});


似乎网络播放器没有检索下拉框的值,但是我不知道为什么没有。

任何帮助深表感谢。

最佳答案

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

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

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

话虽如此,我确实找到了使用setInterVal()的解决方法。该代码与我的原始帖子相同-除了我在文本字段中使用隐藏的Calculated Value来将document属性中的值写入其中外。

......

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


其中“隐藏”是包含计算值的跨度/格。
希望这可以帮助

09-25 22:25