如何从JQuery Selectable获取数据?

时间:2012-03-02 19:55:52

标签: jquery symfony selectable

我正在使用Symfony2 Framework,这就是我想要做的事情:

我想更改输入类型的值,但我希望该值是我刚用selectable选择的值。

在jquery.com的示例中,我有选定的字段,但我需要将它放在隐藏字段上,以便将其作为表单数据发送到控制器。

我已经阅读了JQuery文档中的示例,但是我在修改它时遇到了麻烦。

$(function() {
    $( "#selectable" ).selectable({
        stop: function() {
            var result = $( "#select-result" ).empty();
        $( ".ui-selected", this ).each(function() {
            var index = $( "#selectable li" ).index( this );
            result.append( " #" + ( index + 1 ) );          
            });
         }

    });
});

我有这个隐藏的字段

<input name="horario" type="hidden" value=" " />

我想更改输入字段的值,例如:

您已选择

#1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #16 #17 #18 #19 #20 #21 #22 #23.

2 个答案:

答案 0 :(得分:1)

这样的事情: jsFiddle 示例。这会将隐藏字段值设置为您选择的项目,并出于演示目的,在警报中显示它们。

<强>的jQuery

$("#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="horario"]').val(items);
    }
});​

<强> HTML

<input name="horario" type="hidden" value=" " />
<ol id="selectable">
    <li class="ui-widget-content">Item 1</li>
    <li class="ui-widget-content">Item 2</li>
    <li class="ui-widget-content">Item 3</li>
    <li class="ui-widget-content">Item 4</li>
    <li class="ui-widget-content">Item 5</li>
    <li class="ui-widget-content">Item 6</li>
    <li class="ui-widget-content">Item 7</li>
</ol>

答案 1 :(得分:1)

很简单。您可以使用javascript获取列表数据。

$(function() {
  $( "#selectable" ).selectable({
    stop: function() {
        var result = $( "#select-result" ).empty();
    $( ".ui-selected", this ).each(function() {
        var value = this.innerHTML;
        result.append(value+" , ");          
        });
     }

});

});