首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SAPUI5应用程序中的JQuery日期滑块

SAPUI5应用程序中的JQuery日期滑块
EN

Stack Overflow用户
提问于 2018-08-10 10:20:53
回答 1查看 548关注 0票数 0

我有一个自定义的SAPUI5,在其中我想使用日期选择器的滑块,我找到了example

我已经在Controller.js中包含了iquery-ui库(因为我们将在Fiori Launchpad中运行应用程序)。并在onAfterRendering()中包含了来自指示帖子的JS代码,UI5推荐使用该代码来代替$(document).ready

当我运行这个应用程序时,它显示TypeError: $(...).slider不是一个函数,尽管我在网络选项卡中看到正在加载jquery-ui.js

我也试着让它在index.html中工作-然后在控制台中没有错误,只是滑块不见了。

有没有人能给点建议?

这是我在onAfterRendering函数中的代码

代码语言:javascript
运行
AI代码解释
复制
$('.slider-time').html(dt_from);
$('.slider-time2').html(dt_to);
var min_val = Date.parse(dt_from) / 1000;
var max_val = Date.parse(dt_to) / 1000;

function zeroPad(num, places) {
var zero = places - num.toString().length + 1;
return Array(+(zero > 0 && zero)).join("0") + num;
}

function formatDT(__dt) {
var year = __dt.getFullYear();
var month = zeroPad(__dt.getMonth() + 1, 2);
var date = zeroPad(__dt.getDate(), 2);
var hours = zeroPad(__dt.getHours(), 2);
var minutes = zeroPad(__dt.getMinutes(), 2);
var seconds = zeroPad(__dt.getSeconds(), 2);
return year + '-' + month + '-' + date + ' ' + hours + ':' + minutes + ':' + seconds;
};

$("#slider-range").slider({
range: true,
min: min_val,
max: max_val,
step: 10,
values: [min_val, max_val],
slide: function (e, ui) {

var dt_cur_from = new Date(ui.values[0] * 1000); 
$('.slider-time').html(formatDT(dt_cur_from));

var dt_cur_to = new Date(ui.values[1] * 1000);                 
$('.slider-time2').html(formatDT(dt_cur_to));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-23 12:12:21

感谢你在plunkr上的例子。我还在调试,但我也想知道:有没有特殊的原因,为什么你不使用SAPUI5的TimePickerSliders控件或SAPUI5和OpenUI5中都有的Slider控件?

你可以节省一些你自己的代码,这样设计可能会更像Fiori。我通过以下方式修改了您的Main.view.xml的“content”:

代码语言:javascript
运行
AI代码解释
复制
<sap.ui.core.mvc:View controllerName="view.Main"
    xmlns="sap.m"
    xmlns:sap.ui.core.mvc="sap.ui.core.mvc"
  xmlns:html="http://www.w3.org/1999/xhtml">
    <Page title="Slider">
        <content>

    <Text text="TimePickerSliders" class="sapUiSmallMarginBottom"/>
    <TimePickerSliders
      id="TPS2"
      valueFormat="hh:mm:ss a"
      displayFormat="HH:mm:ss"
      change="handleChange"
      height="400px"
      support2400="true"/>

    <Text text="Slider with tickmarks and labels" class="sapUiSmallMarginBottom"/>
    <Slider min="0" max="60" enableTickmarks="true" value="30" width="90%" class="sapUiSmallMarginBottom">
      <ResponsiveScale tickmarksBetweenLabels="5"/>
    </Slider>
    <Text text="Minutes" class="sapUiSmallMarginBottom"/>

    <Slider min="0" max="24" enableTickmarks="true" class="sapUiSmallMarginBottom" width="90%">
      <ResponsiveScale tickmarksBetweenLabels="1"/>
    </Slider>
    <Text text="Hours" class="sapUiSmallMarginBottom"/>
        </content>
    </Page>
</sap.ui.core.mvc:View>

这对你的要求来说是可以接受的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51784332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档