我有以下jquery数组,它从我的表中的两列中获取值并显示它们的值:
var myCollection = [];
$('#MainContent_gvKarakteristike tbody').find('tr:gt(0)').each(function() {
var row = this;
var myObj = {
label: valuefromType($(row).find($(row).find('td:eq(1)').children())),
opis: valuefromType($(row).find($(row).find('td:eq(2)').children()))
};
myCollection[myCollection.length] = myObj;
});
function valuefromType(control) {
var type = $(control).prop('nodeName').toLowerCase();
switch (type) {
case "input":
return $(control).val();
break;
case "span":
return $(control).text();
break;
case "select":
return $(control).val();
break;
}
}
第一列的名称是'label',第二列的名称是'opis' 结果:
myCollection
(6) […]
0: Object { label: "1", opis: "Test1" }
1: Object { label: "2", opis: "Test2" }
2: Object { label: "3", opis: "Test3" }
3: Object { label: "5", opis: "1" }
4: Object { label: "9", opis: "Test5" }
5: Object { label: "15", opis: "Test6" }
length: 6
我遇到的问题是此代码仅适用于页面重新加载,我需要它才能按下按钮。
按钮:
<button id="myButton" type="button">Save</button>
我尝试了很多东西,myCollection数组总是未定义的。
示例:
$(function() {
$('#myButton').click(function() {
var myCollection = [];
$('#MainContent_gvKarakteristike tbody').find('tr:gt(0)').each(function() {
var row = this;
var myObj = {
label: valuefromType($(row).find($(row).find('td:eq(1)').children())),
opis: valuefromType($(row).find($(row).find('td:eq(2)').children()))
};
myCollection[myCollection.length] = myObj;
});
function valuefromType(control) {
var type = $(control).prop('nodeName').toLowerCase();
switch (type) {
case "input":
return $(control).val();
break;
case "span":
return $(control).text();
break;
case "select":
return $(control).val();
break;
}
}
});
});
有人可以通过#myButton点击帮助我从数组中获取值吗?
提前致谢!