jQuery UI Slider,其中一个Bootstrap popover改变了幻灯片事件

时间:2012-11-29 11:29:24

标签: javascript twitter-bootstrap jquery-ui-slider

我遇到了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。

2 个答案:

答案 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下降了一点,但我确定我可以用它玩具并让它出现在同一个地方。

希望这可以帮助任何有同样问题的人

干杯 乔。