我知道了差不多完成了,虽然它不会在第一one.Here的我的剧本之后添加任何行:我怎样才能让我的动态表更新与AJAX的SharePoint列表?
$('#submitdataAccounts').click(function(){
$('#tableAc tbody tr').each(function(){
var productType = $(".productType").val();
var selectorNSC = $(".selectNsc").val();
var accountNumber= $(".accountNumber").val();
var spFirstNameVal= $(".spFirstName").val();
var spSurnameVal = $(".spSurname").val();
var spMobileVal = $(".spMobile").val();
var data = {
__metadata: { 'type': 'SP.Data.Accounts_x005f_ListListItem' },
"OData__x0065_c91": productType,
"tsyh": selectorNSC,
"OData__x0075_dm6": accountNumber,
"fddm": spFirstNameVal,
"n72h": spSurnameVal,
"OData__x0066_r77": spMobileVal,
};
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Accounts_List')/items",
method: "POST",
data: JSON.stringify(data),
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
},
success: function (data) {
alert('Item added successfully');
},
error: function (error) {
alert("Error: "+ JSON.stringify(error));
}
});
});
});
我使用的是在脚本中添加其行,像这样的表:
document.getElementById("tableAc").insertRow(-1).innerHTML ='<td class="style1a">' +
'<select name="productType" class="btn btn-default dropdown-toggle Select1" style="width:150px"><option value="" selected=""><option value="1">1</option><option value="2">2</option></select>
<div class="divhidden" ><i><br />2nd Party Surname<i/><br /><input type="text" class="form-control" style="width: 150px" /></div></td><td class="style1a"><input type="text" class="form-control" style="width: 150px"/><div class="divhidden" ><i><br />2nd Party Mobile<i/><br /><input type="text" class="form-control" style="width: 150px" /></div></td><td class="style1a"><input type="checkbox" style="width: 150px" class="checkboxAC"/></td><td><a class="btn btn-danger" onclick="SomeDeleteRowFunction(this);" ><i class="fa fa-trash-o" title="Delete" aria-hidden="true"></i><span class="sr-only">Delete</span></a></td>';
它模仿与实际表格相同的布局,所以它只是在按下AddRow按钮时重复第一行。
在我的SharePoint列表,我刚才看到增加了我填写行的量相同的第一行。
任何想法?
而且,我必须指出,我2场中的每个细胞去到不同的地方在每个
感谢
编辑:
现在看起来是这样,但仍然不能正常工作:
$('#submitdataAccounts').on('click',function(){
$('table tr').each(function(){
var productType = $(this).find(".productType").val();
var selectorNSC = $(this).find(".selectNsc").val();
var accountNumber= $(this).find(".accountNumber").val();
var spFirstNameVal= $(this).find(".spFirstName").val();
var spSurnameVal = $(this).find(".spSurname").val();
var spMobileVal = $(this).find(".spMobile").val();
var data = {
__metadata: { 'type': 'SP.Data.Accounts_x005f_ListListItem' },
"OData__x0065_c91": productType,
"tsyh": selectNSC,
"OData__x0075_dm6": accountNumber,
"fddm": spFirstName,
"n72h": spSurname,
"OData__x0066_r77": spMobile,
};
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Accounts_List')/items",
method: "POST",
data: JSON.stringify(data),
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
},
success: function (data) {
alert('Item added successfully');
},
error: function (error) {
alert("Error: "+ JSON.stringify(error));
}
});
});
});
如果我理解正确,那么类productType,selectNsc,accountNumber,...的元素是表格行内的单元格。所以,为了得到单元格的值,我认为你应该改变$(“。productType”)。与$(this).find(“。productType”)。text();或$(this).find(“。productType”)。html(); –
对不起,这里是正确的建议:带有class productType,selectNsc,accountNumber,...的元素是位于表格单元格内的元素。所以,为了得到这些元素的值,我认为你应该用$(this).find(“。productType”)。val();' –
'改变'$(“。productType”).val嗨,谢谢,明天我会放弃工作。这可能会影响它只更新第一行,然后不更新任何其他行? – Stacker