自动完成多个值隐藏字段

时间:2017-08-28 12:50:46

标签: javascript jquery jquery-ui autocomplete

我有一个自动填充字段,我有两个问题。

我需要得到" ID"所选类别。我通过隐藏字段发送它,但是当用户选择多个类别时,剩下的唯一ID是所选择的最后一个类别的id。较新的ID会覆盖以前的ID。我该如何解决这个问题?!

我还有另一个问题: 当用户删除所选的所有类别时,隐藏字段仍然填充。

代码段

 <input type="text" id="example-tags" name="categorie" class="input-tags" value="">
                <input type="hidden" id="cat-id" name="catid" />



var data = [{"value":"1","label":"PHP"},{"value":"2","label":"Python"},{"value":"3","label":"Java"},{"value":"4","label":"ActionScript"},{"value":"5","label":"LUA"}];


     $('#example-tags_tag').autocomplete({

    source: data,

    focus: function( event, ui ) {
    $( "#example-tags_tag" ).val( ui.item.label );
    return false;
  },

    select: function( event, ui ) {
        $("#cat-id").val(ui.item.value);           


      return false;
    }

 });       

使用堆栈工具效果不佳。这里的代码在线: Http: //localhost/testes/auto-complete.html

1 个答案:

答案 0 :(得分:0)

您可以通过将值与某些字符(例如&#39;,&#39;)连接来代替覆盖,而不是覆盖。并再次爆炸以获得个人价值,如:

select: function( event, ui ) {
    if( $("#cat-id").val() != '' )
    {
        $("#cat-id").val( $("#cat-id").val() + ',' + ui.item.value);
    }
    else
    {
        $("#cat-id").val(ui.item.value);
    }
    return false;
}

Working fiddle