1

当用户在 jQuery UI Selectable 上选择一系列值时,我希望第一个数字和最后一个数字的值位于两个输入上。有谁知道如何做到这一点?

我现在拥有的例子。我的 jQuery 目前一次只能使用一个值。

<script>
$(function() {
    $("#selectable").selectable({
        stop : function() {
            var items = '';
            var result = $("#select-result").empty();
            $(".ui-selected", this).each(function() {
                var index = $("#selectable li").index(this);
                items += (index + 1);
            });
            alert('You have selected: ' + items);
            $('input[name="bid"]').val(items);
        }
    });
    $("#selectable li").addClass("ui-state-default");
}); 
</script>
<form>
<div>
<ol id="selectable">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ol>
</div>
</form>

4

1 回答 1

2

Selectables 没有范围,但是下面的函数应该允许您找到第一个和最后一个选定的元素。

然后如何将这些元素转换回数字范围取决于您 - 这取决于您的标记。

$('#selectable').on('selectablestop', function() {
    var $selected = $(this).children('.ui-selected');
    var $first = $selected.first();
    var $last = $selected.last();
    // ...
});

演示在http://jsfiddle.net/alnitak/sQwKu/

于 2012-07-14T21:50:51.993 回答