我遇到了bootstrap和jQueryUI的问题,我认为这更像是一个实现问题。
我正在尝试向jQueryUI Slider添加一个bootstrap popover,然后在滑块的side事件上我试图更改popover的文本
到目前为止,是我的代码。
<Script type="text/javascript">
jQuery(function () {
jQuery("#slider1").slider({
value: 5,
min: 0,
max: 10,
step: 1,
slide: function (event, ui) {
switch(ui.value){
case 0:
jQuery("#slider1").data('popover').options.content = 'new content 0';
break;
case 1:
jQuery("#slider1").data('popover').options.content = 'new content 1';
break;
case 2:
jQuery("#slider1").data('popover').options.content = 'new content 2';
break;
case 3:
jQuery("#slider1").data('popover').options.content = 'new content 3';
break;
case 4:
jQuery("#slider1").data('popover').options.content = 'new content 4';
break;
case 5:
jQuery("#slider1").data('popover').options.content = 'new content 5';
break;
case 6:
jQuery("#slider1").data('popover').options.content = 'new content 6';
break;
case 7:
jQuery("#slider1").data('popover').options.content = 'new content 7';
break;
case 8:
jQuery("#slider1").data('popover').options.content = 'new content 8';
break;
case 9:
jQuery("#slider1").data('popover').options.content = 'new content 9';
break;
case 10:
jQuery("#slider1").data('popover').options.content = 'new content 10';
break;
}
jQuery("#slider1").find(".ui-slider-handle").text(ui.value);
jQuery("#ctl00_MainContent_rptQuestions_ctl00_sdrQuestion_hdnValue").val(ui.value);
}
});
jQuery("#amount1").val("£" + jQuery("#slider1").slider("value"));
});
jQuery(document).ready(function() {
var value = jQuery("#slider1").slider("option","value");
jQuery("#ctl00_MainContent_rptQuestions_ctl00_sdrQuestion_hdnValue").val(value);
jQuery("#slider1").popover({title: 'Twitter Bootstrap Popover 5', content: "It's so simple to create a tooltop for my website!"});
jQuery("#slider1").popover('show');
jQuery("#slider1").find(".ui-slider-handle").text(value);
});
所以基本上上面的代码是设置一个从0到10的滑块,增量为1,然后我在滑块手柄上设置一个标签来显示当前的ui值,并在幻灯片事件上更改它。我遇到的问题是移动滑块时引导程序没有改变
正在初始化bootstrap popover,并在页面加载时显示正确的值,在调试JS时,switch语句被命中并且值被传入,它似乎似乎没有改变bs text。
答案 0 :(得分:0)
好吧,popover没有得到通知您更改选项。尝试拨打setContent
:
var popover = jQuery("#slider1").data('popover');
popover.options.content = 'new content 10';
popover.setContent();
答案 1 :(得分:0)
好的,所以我一直在研究这个问题,我确实找到了修复
所以在切换声明中我添加了
case 0:
jQuery("#slider1").popover('destroy');
jQuery("#slider1").popover({title: 'Twitter Bootstrap Popover 0', content: "It's so simple to create a tooltop for my website!", animation: false});
jQuery("#slider1").popover('show');
break;
然后我做了相同的0-10,同样通过使动画为假,一旦值改变了popover dissapears,这正是我想要的。
我唯一的一点点就是,当在页面init上加载popover时,弹出窗口略高于它应该的位置,然后当滑块移动时,popover下降了一点,但我确定我可以用它玩具并让它出现在同一个地方。
希望这可以帮助任何有同样问题的人
干杯 乔。