javascript - 用下拉RestAPI Sharepoint Online的相应数据填充文本框
问题描述
下面的工作代码加载从 RestAPI 调用返回的下拉 id REG 的选项值。
我想获取 Title 的值并将其相应的家庭值(在相同的 RestAPI 调用中返回)填充到带有 on change javascript 事件的文本框 id Family 中。请指教。
<script>
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', getAR);
var jresult;
function getAR() {
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('List_Name')/items?$Select=Title,Family",
type: "GET",
headers: {"accept": "application / json;odata = verbose",},
success: function(data) {
jresult = data.d.jresult;
var options = "";
for(var i = 0; i < jresult.length; i++){
options = options + "<option value='" + jresult[i].Title + "'>" + jresult[i].Title + "</option>";
}
$("#REG").append(options);
},
error: function(error) {alert(JSON.stringify(error));}
});
}
function fillFamily() {
var x = document.getElementById("REG").value;
$( "Family" ).val( x.Family );
}
</script>
<select id="REG" name="REG" class="custom-select" required="required" onchange="fillFamily()"></select>
<input type="text" id="Family" name="Family">
解决方案
我已经更新了你的代码,你可以试试。更正了代码中的错误。
<script>
$(function(){
getAR()
})
var jresult;
function getAR() {
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('2/23')/items?$Select=Title",
type: "GET",
headers: {"accept": "application / json;odata = verbose",},
success: function(data) {
jresult = data.d.results;
var options = "";
for(var i = 0; i < jresult.length; i++){
options = options + "<option value='" + jresult[i].Title + "'>" + jresult[i].Title + "</option>";
}
$("#REG").append(options);
},
error: function(error) {alert(JSON.stringify(error));}
});
}
function fillFamily() {
var x = document.getElementById("REG").value;
$( "#Family" ).val( x );
}
</script>
<select id="REG" name="REG" class="custom-select" required="required" onchange="fillFamily()"></select>
<input type="text" id="Family" name="Family">
更新:
<script>
$(function(){
getAR()
})
var jresult;
function getAR() {
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('2/23')/items?$Select=Title,Family",
type: "GET",
headers: {"accept": "application / json;odata = verbose",},
success: function(data) {
jresult = data.d.results;
var options = "";
for(var i = 0; i < jresult.length; i++){
options = options + "<option value='" + jresult[i].Title + "'Family="+jresult[i].Family+">" + jresult[i].Title + "</option>";
}
$("#REG").append(options);
},
error: function(error) {alert(JSON.stringify(error));}
});
}
function fillFamily() {
var val=$("#REG").find("option:selected").attr("Family");
$( "#Family" ).val( val );
}
</script>
<select id="REG" name="REG" class="custom-select" required="required" onchange="fillFamily()"></select>
<input type="text" id="Family" name="Family">
推荐阅读
- ios - 有没有办法准确检测用户在 Xcode 上使用的设备类型
- docker - 运行“docker-compose up”时出错:配置无效,异常退出
- javascript - 在调用每个函数时记录它的名称
- amazon-ec2 - 如何在 linux - redhat 7.4 重启后恢复 cfn-init 命令?
- github - 如何在 GitHub 上的代码审查中手动添加建议?
- python - Bokeh 如何根据 pandas 数据框制作带有错误的趋势线图?
- angular - TS2304:找不到名称“描述”或“预期”
- c# - 调用异步单行 lambda 委托
- jupyter-notebook - 是否可以在 Jupyter Notebook 中缩放粘贴的图像?
- perl - 使用 HTML::PullParser 获取属性值