Javascript 拆分数组的元素

Javascript 拆分数组的元素,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,我有这样一个数组: var arr = ["1,JOAQUIN", "2,BERNARDINO", "3,MODOC", "4,MADERA"]; 我想把它分开 1 JOAQUIN 2 BERNARDINO 3 MODOC 4 MADERA 我想做的是: 1。在jQuery UI自动完成列表中显示数字(第一个索引) 2.并在另一个文本框中显示各自的名称 这是我的密码 var arr = ["1,JOAQUIN", "2,BERNARDINO", "3,MODOC", "4,MADERA"]

我有这样一个数组:

var arr = ["1,JOAQUIN", "2,BERNARDINO", "3,MODOC", "4,MADERA"];
我想把它分开

1 JOAQUIN
2 BERNARDINO
3 MODOC 
4 MADERA
我想做的是:

1。在jQuery UI自动完成列表中显示数字(第一个索引)
2.并在另一个文本框中显示各自的名称

这是我的密码

var arr = ["1,JOAQUIN", "2,BERNARDINO", "3,MODOC", "4,MADERA"];
$('input').autocomplete({
    source: json,
    select: function(event, ui) { 
        var str = ui.item.value.split(',');
        var lastIndex = str.length -1;
        $('#two').val(str[lastIndex]);     //ACHEIVED 2nd   
    }
});
然而,我得到了我的第二点,并努力为我的第一个问题找到解决方案

这是你的电话号码

请分享您的建议并为我指出正确的方向。

根据文档,您可以将对象数组设置为
源属性

标签
属性显示在建议菜单中。当用户选择项目时,
将插入到输入元素中。如果只指定了一个属性,则它将同时用于这两个属性,例如,如果仅提供
属性,则
也将用作
标签

请注意,旧版本的IE不支持数组的object
.map()
方法,您可以使用ES5垫片或使用jQuery
$.map()
实用程序函数:

$.map(arr, function(_, elem) {
     return { 
         'label': elem.split(',')[0], 
         'value': elem.split(',')[1] 
     }
});

只需添加
返回false到您的代码

<input type='text' id="one" />
<input type='text' id="two" />  

var json = ["1,JOAQUIN", "2,BERNARDINO", "3,MODOC", "4,MADERA"];
$('input').autocomplete({
  source: json,
  select: function(event, ui) { 
      var str = ui.item.value.split(',');
      var lastIndex = str.length -1;
      $('#one').val(str[0]);
      $('#two').val(str[lastIndex]);     //ACHEIVED 2nd   
      return false;
  }
});

var json=[“1,华金”,“2,贝纳迪诺”,“3,莫多克”,“4,马德拉];
$('input')。自动完成({
资料来源:json,
选择:函数(事件,ui){
var str=ui.item.value.split(',');
var lastIndex=str.length-1;
$('#one').val(str[0]);
$('#two').val(str[lastIndex]);//获得第二名
返回false;
}
});

+1太棒了。我喜欢源代码中的返回语句。如果您注意到两个文本框都填充了相同的值。在@Pragnesh Chauhan答案的帮助下,我获得了+1
return false
。但是,autocomplete的下拉列表仍然显示这两个值。无论如何,谢谢,这是我需要的全部小提琴
<input type='text' id="one" />
<input type='text' id="two" />  

var json = ["1,JOAQUIN", "2,BERNARDINO", "3,MODOC", "4,MADERA"];
$('input').autocomplete({
  source: json,
  select: function(event, ui) { 
      var str = ui.item.value.split(',');
      var lastIndex = str.length -1;
      $('#one').val(str[0]);
      $('#two').val(str[lastIndex]);     //ACHEIVED 2nd   
      return false;
  }
});