在数组位置移动值时未获得正确的输出

学习过度思考者困惑

我有1个数组,其中我的源和目标是这样的:

markers.push({
        "Location": "Chicago",
        "IsLocation": "Yes"
            });

    markers.push({
        "Location": "Los Angeles",
        "IsLocation": "Yes"
            });

现在,当我将使用动态文本框创建点时,我想在源和目标之间添加所有这些点。

方案1第一个动态文本框,其输入内容为Eg:abc

markers[0]:Chicago
markers[1]:abc
marker[2]:Los Angeles.

方案2第二个动态文本框,带有输入说如Eg:pqr

markers[0]:Chicago
markers[1]:abc
markers[2]:pqr
marker[3]:Los Angeles.

方案3第三个动态文本框,其输入内容为Eg:lmn

markers[0]:Chicago
markers[1]:abc
markers[2]:pqr
markers[3]:lmn
marker[4]:Los Angeles.

我的第一个位置将被固定。

代码:

// Code goes here

var cnt = 1;
var maxNumberOfTextboxAllowed = 5;

var autocomplete = [];
var markers = [];

markers.push({
  "Location": "Chicago",
  "IsLocation": "Yes"
});

markers.push({
  "Location": "Los Angeles",
  "IsLocation": "Yes"
});

function Generatetextbox() {
  if (cnt <= maxNumberOfTextboxAllowed) {
    var fieldWrapper = $("<div class='fieldwrapper' id='field" + cnt + "'/>");
    var fName = $("<input type='text' class='fieldname' id='Txtopt" + cnt + "'  name='TxtoptNm" + cnt + "'  />");
    fieldWrapper.append(fName);
    fieldWrapper.append('<br />');
    fieldWrapper.append('<br />');
    $("#abc").append(fieldWrapper);
    var newInput = [];
    var newEl = document.getElementById('Txtopt' + cnt);
    var txtboxId = 'Txtopt' + cnt;
    newInput.push(newEl);
    setupAutocomplete(autocomplete, newInput, 0, txtboxId);
    cnt = cnt + 1;
  } else
    alert("Cant create more than 5 textbox")
}


function setupAutocomplete(autocomplete, inputs, i, txtboxId) {
  autocomplete.push((txtboxId));
  var idx = autocomplete.length - 1;
  document.getElementById(autocomplete[idx]).addEventListener("change", function() {
    alert(document.getElementById(autocomplete[idx]).value);
    var autoTextbox = [{
      "Location": document.getElementById(autocomplete[idx]).value,
      "IsLocation": "Yes"
    }]

    var markerLastIndexData = [{
      "Location": markers[markers.length - 1].Location,
      "IsLocation": "Yes"
    }]

    markers[markers.length - 1] = autoTextbox;
    markers[markers.length] = markerLastIndexData;
    console.log(markers)
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="abc"></div>
<button onclick="Generatetextbox()" class="btn btn-primary" type="button">Add</button>

您可以在控制台中检查。我得到的结果不正确。

获得这样的输出:在此处输入图片说明

控制台输出未定义:在此处输入图片说明

预期输出显示在我的方案中,例如:

marker[0]:{ 
          Location="Chicago",  
          Isolcation="Yes"
          }
marker[1]:{ 
          Location="abc",  
          Isolcation="Yes"
          }
etc......
吉尔赫·藤吉

之所以发生这种情况,是因为在setupAutocomplete函数中,您为标记Array分配了一个Array而不是Object。只需删除声明了将要推送到markers数组的两个变量的行上的[]即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数组输入周期未获得正确的值

来自分类Dev

Python-点类未获得正确的输出

来自分类Dev

在Yaml模板中未获得正确的输出

来自分类Dev

在JTable中搜索-未获得正确的输出

来自分类Dev

从主机到设备的 PyCUDA 值未获得正确值

来自分类Dev

使用Python列表时未获得所需的输出

来自分类Dev

Angular Dropdown所选项目未获得正确的值

来自分类Dev

从文件读取的文件名未获得正确的值

来自分类Dev

拖动地图时未获得当前位置

来自分类Dev

错误:未获得所需的输出

来自分类Dev

活动未获得正确的捆绑

来自分类Dev

活动未获得正确的捆绑

来自分类Dev

飞镖未获得输入值

来自分类Dev

Spinner 未获得选定值

来自分类Dev

熊猫:使用嵌套的for循环填充空列时未获得所需的输出

来自分类Dev

Linq-to-SQL dbml DateTimeOffset列自动生成的值未获得正确的时区

来自分类Dev

Linq-to-SQL dbml DateTimeOffset列自动生成的值未获得正确的时区

来自分类Dev

使用queryProcessInstancesCount方法调用时,Camunda BPM中未获得正确的值

来自分类Dev

以编程方式更改ng-model时未获得ng-model的更新值

来自分类Dev

使用Wordnet Synset的定义方法未获得所需的输出

来自分类Dev

根据Fermat的小定理未获得预期的输出

来自分类Dev

正弦规则未获得预期的输出

来自分类Dev

试图了解协程-未获得预期的输出

来自分类Dev

MVC控制器未获得正确的参数值

来自分类Dev

TimeSpan未获得正确的剩余时间

来自分类Dev

片段未获得正确的控制器

来自分类Dev

在横向方向上未获得正确的UILabel大小

来自分类Dev

附加内容未获得正确的CSS样式

来自分类Dev

使用parseFloat舍入后未获得适当的值

Related 相关文章

热门标签

归档