我有一个自定义的SAPUI5,在其中我想使用日期选择器的滑块,我找到了example
我已经在Controller.js
中包含了iquery-ui
库(因为我们将在Fiori Launchpad中运行应用程序)。并在onAfterRendering()
中包含了来自指示帖子的JS代码,UI5推荐使用该代码来代替$(document).ready
。
当我运行这个应用程序时,它显示TypeError: $(...).slider
不是一个函数,尽管我在网络选项卡中看到正在加载jquery-ui.js
。
我也试着让它在index.html
中工作-然后在控制台中没有错误,只是滑块不见了。
有没有人能给点建议?
这是我在onAfterRendering函数中的代码
$('.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));
发布于 2018-08-23 12:12:21
感谢你在plunkr上的例子。我还在调试,但我也想知道:有没有特殊的原因,为什么你不使用SAPUI5的TimePickerSliders控件或SAPUI5和OpenUI5中都有的Slider控件?
你可以节省一些你自己的代码,这样设计可能会更像Fiori。我通过以下方式修改了您的Main.view.xml的“content”:
<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>
这对你的要求来说是可以接受的吗?
https://stackoverflow.com/questions/51784332
复制相似问题