1

作成後にレンジ スライダーの値を 2 つのブロックにプッシュしようとしています。

$(document).ready(function() {
$("#slider-range").slider({
    step: 10,
    range: true,
    min: 10,
    max: 500,
    values: [100, 400],
    create: function(event, ui) {
        $('#minResult').text(ui.values[0]+'$');
        $('#maxResult').text(ui.values[1]+'$');
    },
    slide: function(event, ui) {
        $('#minResult').text(ui.values[0]+'$');
        $('#maxResult').text(ui.values[1]+'$');
    },
    stop: function(event, ui) {
        $('#priceMin').val(ui.values[0]);
        $('#priceMax').val(ui.values[1]);
        calcItems();
    }
});
});

Slide および Stop コールバックは正常に機能しますが、Create は機能しません。Conosole.log(ui) は未定義を返します。助けてください)

4

1 に答える 1

0

createイベントの jQuery スライダー ドキュメントから:

注: ui オブジェクトは空ですが、他のイベントとの一貫性のために含まれています。

参照: http://api.jqueryui.com/slider/#event-create

以下を使用して、スライダー UI オブジェクトから値を直接取得できます。

$("#slider-range").slider("values")[0];

コード:

$(document).ready(function () {
    $("#slider-range").slider({
        step: 10,
        range: true,
        min: 10,
        max: 500,
        values: [100, 400],
        create: function (event, ui) {
            $('#minResult').val($("#slider-range").slider("values")[0] + '$');
            $('#maxResult').val($("#slider-range").slider("values")[1] + '$');
        },
        slide: function (event, ui) {
            $('#minResult').val(ui.values[0] + '$');
            $('#maxResult').val(ui.values[1] + '$');
        },
        stop: function (event, ui) {

        }
    });
});

デモ: http://jsfiddle.net/IrvinDominin/gFLsz/

于 2013-09-20T15:52:30.867 に答える