如何在选择项目时使用自动完成功能发布数据

时间:2012-09-21 08:42:36

标签: javascript jquery jquery-ui

我有一个链接到远程源的jquery自动完成框。当选择某些内容时,我希望它发布该项目的ID。

这是我到目前为止所发布的数据

没有运气
$( "#artist1" ).autocomplete({
            source: "search.php",
            minLength: 2,
            select: function( event, ui ) {
            var artist1 = ui.item.id;
            var id = $("#id").val();


            $.post('writeToDB.php', { id:id, artist1:artist1});

            }
        });

此代码适用于其他元素,但在我将其置于自动完成时则不适用。我哪里可能出错?

2 个答案:

答案 0 :(得分:0)

您应该覆盖select事件,并将您的逻辑放在那里。 有关详细信息,请查看jQueryUI's official demo of autocomplete

代码示例

// Supply a callback function to handle the select event as an init option.
$( ".selector" ).autocomplete({
   select: function(event, ui) { ... }
});

// Bind to the select event by type: autocompleteselect.
$( ".selector" ).bind( "autocompleteselect", function(event, ui) {
  ...
});

答案 1 :(得分:0)

您可以这样做: -

$( "#artist1" ).autocomplete({

        select: function(event, ui) 
        {
            var artist1 = ui.item.id;
            var id = $("#id").val();
        },

        source: function(request, response) {
        $.ajax({
            url :"search.php" ,
            data : "id="+id+"&artist="+artist1,
            dataType: "json",
            type : "POST",
            success : function(data)
            {
                yourdata
            })

        response(yourdata);
            }
        });
        },
        minLength: 2
        });

这是一个例子,您必须对此进行一些更改。