2017-03-02 64 views
1

我有一个滑块,结果(数字)显示在ID为#output的div中。将变量传递给slider中的值属性

所以我想将这个变量也传递给一个ID为#sites的输入字段,但我正在调试。我如何使用.val()更改值属性?

下面是代码

$(document).ready(function() { 
    $(function() { 
    var out = $('#output'); 
    $("#slider").slider({ 
      min: 1, 
      max: 50, 

     slide: function(evt, ui) { 
     out.html(ui.value); 
     } 

    }); 
    $("#sites").val(out); 
    }); 
}); 
+2

'幻灯片:函数(EVT,UI){out.html(ui.value); $( “#网站”)VAL(ui.value)。 }' – Andreas

+0

'$(“#sites”)。val(out.innerHtml);' –

回答

0

首先请注意,您只需要一个document.ready处理程序。要解决您的实际问题,请将代码设置为#sites以下slide处理程序。此刻的你只设置页面负载值之前用户与控制互动试试这个:

$(function() { 
    var $out = $('#output'); 

    $("#slider").slider({ 
    min: 1, 
    max: 50, 
    slide: function(evt, ui) { 
     $out.html(ui.value); 
     $("#sites").val(ui.value); 
    } 
    }); 
}); 
+0

它可以工作,但仅限于第一次。当我改变滑块。它不更新输入字段中的值属性 –

0

尝试$("#sites").val(out.text());

0

你必须这样做,在幻灯片回调:

slide: function(evt, ui) { 
    out.html(ui.value); 
    $("#sites").val(ui.value); 
} 

因为当用户与滑块和你互动幻灯片事件发生正试图在文档就绪区域外设置值。此时,该值处于滑块的默认值。

$(document).ready(function() { // this is as same as 
    $(function() { // this one. extra doc ready block is not needed. 
    ...... 
    }); 
});