javascript - jQuery 可选择序列化为数组

标签 javascript jquery jquery-ui

我有一个可选的:

<ol id="selectable">
    <li class="ui-widget-content">1</li>
    <li class="ui-widget-content">2</li>
    <li class="ui-widget-content">3</li>
</ol>

我想将每个选定的项目主体捕获到以逗号分隔的隐藏输入中,因此在选择某些项目后,它看起来像这样:

 <input type="hidden" id="bad_times" name="bad_times" value="1,3" />

其中 1,3 是所选项目的主体。我尝试过的任何来自网络的示例都失败了。请注意,只有选定的项目必须被捕获,如果我选择某个项目,然后取消选择,然后再次选择它应该只出现一次。如何实现?

最佳答案

以下假设正在使用 jQuery UI 可选插件

如果是这样,您可以尝试类似的方法并在此基础上进行构建

$(function() {
  $("#selectable").selectable({
     filter: "li" ,
    unselected:mapSelected,
    selected:mapSelected
  });
});

function mapSelected(event,ui){
  var $selected = $(this).children('.ui-selected');
  var text = $.map($selected, function(el){
     return $(el).text()
  }).join();
  $('#bad_times').val(text)
}

DEMO

关于javascript - jQuery 可选择序列化为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475189/

相关文章:

javascript - Jquery 数学与 .return

jquery - 在 jQuery UI 向左滑动动画期间使 UL 内联

javascript - 如何绑定(bind)到 jQuery 中文本区域的更改事件?

javascript - JavaScript 中的加法返回错误值

javascript -::悬停选项适用于 IE,但不适用于 CDHtmlDialog

javascript - 如何在 Node.js 中注册 url 协议(protocol)处理程序

javascript - 选择选项未在 angularjs 中显示

javascript - 页面加载时显示 D3 工具提示

javascript - 如何将事件添加到附加元素

javascript - 在我实现 CSS3 灵活的框布局后,JQuery 拖放在 FF3.6 中不起作用,有什么想法吗?