Возможно, я делаю это кругом, но здесь идет. У меня есть ползунок за пределами панели обновления, которую я использую для обновления содержимого этой панели. Я передаю значение ползунка в скрытое поле и используя событие .Net TextChanged, чтобы обновить панель.Обновление обновленной панели от jQueryUI Slider, когда значение не изменяется
Все работает отлично, пока я просто не нажимаю на рукоятку, не сдвигая ее, поэтому значение остается таким же, что и все еще вызывает событие «изменение» слайдера, но поскольку значение в скрытом поле не изменилось, событие .Net TextChanged doesn 'огонь, поэтому содержимое панели исчезает.
Было бы хорошо, если есть способ игнорировать щелчок, если рукоятка не перемещается, или каким-либо способом сохранить одно и то же значение для передачи функции данных в коде.
Любые идеи оценили
Dave
код (слегка укороченный для ясности)
<script>
$(document).ready(function() {
$("#slider").slider({
min: 1,
max: sizes.length - 1,
value: 2,
animate: true,
create: function (event,ui){
$("#slider").find(".ui-slider-handle").text("8")
},
slide: function (event, ui) {
var value = $("#slider").slider("option", "value");
$("#slider").find(".ui-slider-handle").text(sizes[ui.value]);
},
change: function (event, ui) {
var value = $("#slider").slider("option", "value");
$("#slider").find(".ui-slider-handle").text(sizes[ui.value]);
$("#<%= hid.ClientID %>").val(sizes[ui.value]);
var UpdatePanel1 = '<%=ajaxGrid.ClientID%>';
__doPostBack(UpdatePanel1, '');
},
stop: function (event, ui) {
}
});
});
</script>
<div id="slider" style="width:400px;"></div>
<asp:UpdatePanel runat="server" ID="ajaxGrid" UpdateMode="Conditional">
<ContentTemplate>
<div id="productgrid" class="productgrid" runat="server"></div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:HiddenField ID="hid" runat="server" OnValueChanged ="portionCount_TextChanged" />
Код За
List<product> _products = new List<product>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadJSArray();
_products = product.getProductsByCatParentAndServings(61, 8); // default
}
drawGrid();
}
protected void portionCount_TextChanged(object sender, EventArgs e)
{
_products = product.getProductsByCatParentAndServings(61, int.Parse(hid.Value));
drawGrid();
}