javascript - Jquery 自动完成 : how to setup what to send to the server?

标签 javascript jquery jquery-ui autocomplete

目前,在输入内容后,服务器会返回如下内容:

[{"id":"1", "value":"My first character"},{"id":"2", "value":"My second Character"}]

当我选择“我的第一个 Angular 色”并提交表格时,它会发送:

array(1) { ["members"]=> string(18) "My first character" }

但我宁愿发送 ID。如何告诉 .autocomplete 发送 id 而不是字段的标签? ( JS code )

它一定很简单,但我想念它。

谢谢

最佳答案

实际上,如果您使用的是文本输入,您将始终提交显示的值。您可以做的是将 id 复制到隐藏元素,然后捕获该服务器端。你可以这样做:

            select: function( event, ui ) {
                    var terms = split( this.value );
                    // remove the current input
                    terms.pop();
                    // add the selected item
                    terms.push( ui.item.value );
                    // add placeholder to get the comma-and-space at the end
                    terms.push( "" );
                    this.value = terms.join( ", " );
                    //get the id
                    var id = ui.term.id;
                    //copy it to another hidden element
                    $('#yourhiddeninput').val(id);
                    return false;
            }

关于javascript - Jquery 自动完成 : how to setup what to send to the server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7486741/

相关文章:

javascript - jQuery不会触发点击事件

jquery - 在 jQuery 的 html(val) 语句中访问当前选定元素的内容?

javascript - 如何在 jQuery 代码中使用 Angular 变量

jquery - 在日历中的特定日期之后更改背景颜色

jquery - 从 jQuery UI 对话框中的按钮调用动态创建的 iFrame 中的函数

javascript - setInterval() 不重复。仅工作 1 次

javascript - 选择给定标题的所有行

javascript - 从 NTLM token Javascript 获取用户名

javascript - 使用 Knockout-sortable 拖动 observableArray 项目时出现滞后

jquery - 从链接调用 jquery datepicker 并通过 post 调用发送日期