- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这可能很简单,但我现在不知道如何解决。每次单击提交按钮时,下面的函数都会检查输入字段 1(名称),如果不为空,则将值添加到关联数组,并继续描述。
我想要的是在每次点击时向数组添加一个新的 1 级元素,它应该包含这些值,以便在点击三次后看起来像这样:
Click 1:
listObject[0]['listObjectName'] = 'Name 1';
listObject[0]['listObjectDesc'] = 'Desc 1';
Click 2:
listObject[1]['listObjectName'] = 'Name 2';
listObject[1]['listObjectDesc'] = 'Desc 2';
Click 3:
listObject[2]['listObjectName'] = 'Name 3';
listObject[2]['listObjectDesc'] = 'Desc 3';
函数:
$('#addListObjectSubmit').click(function (e) {
var listObjectName = $('#m_newListObject').val();
if((listObjectName == null) || (listObjectName == '')) {
return false;
}
else {
listObjects['listObjectName'] = listObjectName;
var listObjectDesc = $('#m_newListObjectDesc').val();
if ((listObjectDesc == null) || (listObjectDesc == '')) {
listObjects['listObjectDesc'] = null;
}
else {
listObjects['listObjectDesc'] = listObjectDesc;
}
}
e.preventdefault();
});
那么,处理这个问题的最佳方法是什么?
最佳答案
如果您忘记关联数组,它会对您有所帮助。它们只在理论上存在于 Javascript 中。其实万物皆对象,数组也不异常(exception)。但是从数据存储的 Angular 考虑,您可以使用一个简单的 array只能用数字索引,或者您可以使用 object作为数据图。
以下示例创建一个数组(注意更紧凑的 []
而不是 new Array()
)和 pushes将 map (使用 {}
创建)放入其中:
var listObjects = [];
...
var newElem = {
'listObjectName' : 'Name 1',
'listObjectDesc' : 'Desc 1'
};
listObjects.push(newElem);
之后,如果它是数组中的第一个元素,您可以使用 listObjects[0]
访问该元素。
如果你想访问它的属性,你可以使用以下之一:
listObjects[0].listObjectName
listObjects[0]['listObjectName']
所以你可以看到,在处理对象时,可以使用.
表示法,也可以使用括号表示法——它们是等价的,但后一种形式让它看起来像是一个“联想词”数组”(对于来自 PHP 的人来说更多)。
关于javascript - 每次单击都将新元素添加到关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078111/
我正在用 Java 编写代码,并且使用 Vaadin 8 扩展。 我有一个 Vaadin 组合盒,效果很好。但我不仅想从组合框中选择项目,还想选择书面输入。这意味着我想使用组合框作为下拉菜单以及文本编
我正在尝试将 AJAX 添加到 JQuery ListView 中并呈黄色闪烁,但我似乎无法使其正常工作。谁能指出我正确的方向? http://jsfiddle.net/zFybm/ 最佳答案 根据
我有这个样式表: .pixel{ position: absolute; height: 10px; width: 10px; background-color: #f
这是我用来将新行推送到容器的一行代码: this.$el.append(new ItemView(item).render().el); 其中item是Backbone.js model,render
我正在尝试在 anguar.js 中制作一些测试应用程序,但遇到了问题。我的 js 文件包含: live = angular.module('live',[]); live.controller('p
如何绑定(bind)页面加载后创建的新元素? 我有这样的东西 system = function() { this.hello = function() { alert
html5 新元素(页眉、导航、页脚等)在 IE 中不工作 最佳答案 您需要包含 HTML5 shiv 脚本以允许在旧版 IE 浏览器中设置 HTML5 元素的样式:http://code.googl
我是一名优秀的程序员,十分优秀!