我有一个简单的上传表单来允许多次上传,并且对于每个选择的文件,它需要创建一个新的滑块。
我已经创建了一个新的滑块,它们每个都有单独的 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);
当您在文本框中手动键入一个数字时,滑块的位置会更新 - 这样就可以正常工作。但反过来也行不通。我猜这是因为页面加载时滑块没有加载,但我不知道修复它。