3

我有一个简单的上传表单来允许多次上传,并且对于每个选择的文件,它需要创建一个新的滑块。

我已经创建了一个新的滑块,它们每个都有单独的 ID。我遇到的唯一问题是我希望滑块在每次滑动或更改时将其值输入到文本框中。它适用于普通滑块,不是动态添加的,但动态添加的滑块不会更新它们各自的文本框。

这是添加滑块和文本框的代码:

var pagesslider = $('<div id="pages'+(x + 1)+'" class="pages"></div><input name="anewslider" id="pages-box'+(x + 1)+'" type="text" onchange="$(\'#pages'+(x + 1)+'\').slider({ value: this.value });updatevalues();updatepages(\''+x+'\');" value="1" />');
$('#pages-holder').append(pagesslider);

addSlider('pages'+(x + 1));

addSlider 函数如下:

function addSlider(element) {
var slider = $('.pages').slider({
    range: "min",
    value: 1,
    min: 1,
    max: 1000,

    slide: function(event, ui) {
        slide(element, ui.value);
    },
    change: function(event, ui) { 
        slide(element, ui.value);
    }
});
$(element).val(slider.slider('value'));
}

而滑动功能只是对文本框进行简单的值更改。

$(element).attr('value', changevalue);

当您在文本框中手动键入一个数字时,滑块的位置会更新 - 这样就可以正常工作。但反过来也行不通。我猜这是因为页面加载时滑块没有加载,但我不知道修复它。

4

2 回答 2

1

动态添加任何新 jquery 滑块的最简单方法是:

var fieldvalue = '<input type="range" name="loan_term" class="textbox" id="my_new_slider" min="12" max="36" step="12" value="24" />';

$('#divelement').html(fieldvalue);

$("#my_new_slider").rangeinput({
     progress: true
});

我希望它可以帮助别人

于 2012-11-24T11:53:58.527 回答
0

所以伙计们.. 如果你得到正确的 ID,它会有所帮助。

于 2012-04-25T11:37:29.547 回答