jquery.ui.spinner改变了

etr*_*iad 20 jquery events user-interface onchange spinner

我正在尝试使用最新版本的jquery.ui.spinner.js.http://wiki.jqueryui.com/w/page/12138077/Spinner

微调器正在显示和更新文本框,但我无法弄清楚如何捕获"更改"事件.当您手动更改文本框中的值时会触发它,但在使用微调器箭头时则不会触发.

jQuery的:

    $('input[name*="opening"]').spinner({ min: 0, max: 100});

    $('#doorsize6w7h-f').spinner().change(function(){
         alert($(this).spinner('value'));
    });
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type="text" value="0" class="front" id="doorsize6w7h-f" name="opening[0][0]" />
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 35

在调用change()文本框的微调控件上附加一个事件.

$('.ui-spinner-button').click(function() {
   $(this).siblings('input').change();
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

设置微调器后.


Pab*_*eco 19

我想这就是你需要的:

$('.mySpinner').spinner({          
    stop:function(e,ui){
        alert('Triggered after a spin.');
    }
});
Run Code Online (Sandbox Code Playgroud)

与绑定click事件的按钮不同,这也将检测键盘上/上键的使用.

有关详细信息和更多活动,请参阅此页面:http: //api.jqueryui.com/spinner/#entry-examples

  • `stop`事件的问题在于,根据文档,即使`ui`对象可用,它也是空的,因此你无法在旋转后立即获得微调器的值.这就是为什么我更喜欢使用`spin`事件. (3认同)

Arm*_*tov 8

没有"更改"事件,而是使用"spinstop"事件:

$('#doorsize6w7h-f').on("spinstop", function(){
   alert($(this).spinner('value'));
});
Run Code Online (Sandbox Code Playgroud)

文档还提出了spinchange事件,但对我来说这有点迟钝.

资源:http://api.jqueryui.com/spinner/?rfrom = http%3A%2F%2Fdocs.jquery.com%2Fmw%2Findex.php%3Ftitle%DUI%2FSpinner%2Fspinner%26redirect%3Dno#event-change


Geo*_*kis 6

好吧,实际上我会通过标准的"更改"事件来路由更改并捕获所有内容,例如:

$('input[name*="opening"]').spinner({
    min: 0,
    max: 100,
    spin: function(event, ui) {
        $(this).change();
    }
});
Run Code Online (Sandbox Code Playgroud)