使用数据库中的隐藏输入值初始化jquery滑块
我使用一个滑块作为屏幕的用户输入。基本上,它是一个批量更新屏幕,其中有一个具有多行的表,因此有多个滑块。我创建了它,这样隐藏的值就是表单中发布的值使用数据库中的隐藏输入值初始化jquery滑块,jquery,jquery-ui,asp.net-mvc-2,slider,Jquery,Jquery Ui,Asp.net Mvc 2,Slider,我使用一个滑块作为屏幕的用户输入。基本上,它是一个批量更新屏幕,其中有一个具有多行的表,因此有多个滑块。我创建了它,这样隐藏的值就是表单中发布的值 <td> <input class="percentageProvidedHidden" type="hidden" name='<%= "Values[" + i + "].Percentage" %>' value='<%=item.Percentage %>' />
<td>
<input class="percentageProvidedHidden" type="hidden" name='<%= "Values[" + i + "].Percentage" %>' value='<%=item.Percentage %>' />
<div class="percentageProvidedSlider"></div>
</td>
您在
这一点上是正确的
不正确,但更重要的是,在您声明对象时(如果这一
是滑块对象)这一
是尚未添加到DOM的对象,因此没有父对象。因此,您必须使用以下内容:
$('.percentageProvidedSlider').each(function() {
var $sld = $(this); // is the current div.percentageProvidedslider
$sld.slider(
{
min: 0,
max: 100,
step: 25,
value: $sld.parents('tr').find('input.percentageProvidedHidden').val(),
slide: function(e, ui) {
var mypos = ui.value;
$(this).find('.ui-slider-handle').text(ui.value);
},
change: function(event, ui) {
var myVal = $(this).slider("option", "value");
$(this).parents('tr').find('input.percentageProvidedHidden').val(myVal);
var myDropDown = $(this).parents('tr').find('select.verified');
}
});
});
我想我明白了。在上面的代码之后,我添加了以下内容:
$('.percentageProvidedSlider').each(function() {
var myVal = $(this).parents('tr').find('input.percentageProvidedHidden').val();
$(this).slider("option", "value", myVal);
});
这似乎很好。是的,我是jquery新手,只是读了一点$(这个)。:)感谢您的解决方案,我最终发布了我自己的内容,而不知道您已经发布了。上述方法的优点是,您没有两次运行所有.percentageProvidedSlider div,而只是一次。
$('.percentageProvidedSlider').each(function() {
var myVal = $(this).parents('tr').find('input.percentageProvidedHidden').val();
$(this).slider("option", "value", myVal);
});