JSOM对象模型加载下拉列表(查阅项,选项)
'use strict'; var currentcontext; var hostcontext; var hostweb; var allSurveys; var hostUrl; var list; var allProducts; var allCustomers; var field = null; (function () { $(document).ready(function () { hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl")); currentcontext = new SP.ClientContext.get_current(); hostcontext = new SP.AppContextSite(currentcontext, hostUrl); hostweb=hostcontext.get_web(); fixNavgation(); getSurvey(); getProduct(); getCustomer(); getSelf(); $("#btn_survey_add").click(function(){ showModal(); return false; }); $("#btn_survey_add_submit").click(function(){ addSurvey(); return false; }); }); function showModal() { $("#modal_survey_add").modal("show"); } function addSurvey() { list = hostweb.get_lists().getByTitle("Surveys"); var itemCreateInfo = new SP.ListItemCreationInformation(); var item = list.addItem(itemCreateInfo); item.set_item("Title", $("#txt_survey_salesrepname").val()); item.set_item("Cleanliness",$("#sel_survey_cleanliness").val()); item.set_item("Lighting",$("#sel_survey_lighting").val()); item.set_item("ShelfPlacement",$("#sel_survey_shelfplacement").val()); item.set_item("AislePlacement",$("#sel_survey_aisleplacement").val()); var customerValue = new SP.FieldLookupValue(); customerValue.set_lookupId($("#sel_survey_customer").val()); item.set_item("Customer",customerValue); var productValue = new SP.FieldLookupValue(); productValue.set_lookupId($("#sel_survey_product").val()); item.set_item("Product",productValue); item.update(); currentcontext.load(item); currentcontext.executeQueryAsync( successAddHandler, errorAddHandler ); } function successAddHandler(data, req) { alert("添加成功!"); $("#modal_survey_add").modal("hide"); getSurvey(); getProduct(); getCustomer(); } function errorAddHandler(sender, args) { alert("Error: " + args.get_message()); } function getSurvey() { list = hostweb.get_lists().getByTitle("Surveys"); var camlString = ""; var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml(camlString); allSurveys = list.getItems(camlQuery); currentcontext.load(allSurveys); currentcontext.executeQueryAsync( successGetHandler, errorGetHandler ); } function successGetHandler(data, req) { //alert(allSurveys.get_count()); var surveysHTML = ""; var enumerator = allSurveys.getEnumerator(); while (enumerator.moveNext()) { var survey = enumerator.get_current(); surveysHTML = surveysHTML + "<tr><td>" + survey.get_id() + "</td><td>" + survey.get_item("Title") + "</td><td>" + survey.get_item("Cleanliness") + "</td><td>" + survey.get_item("Lighting") + "</td><td>" + survey.get_item("ShelfPlacement") + "</td><td>" + survey.get_item("AislePlacement") + "</td><td>" + survey.get_item("Customer").get_lookupValue() + "</td><td>" + survey.get_item("Product").get_lookupValue() + "</td></tr>"; } $("#survey_data_body").empty(); document.getElementById("survey_data_body").innerHTML = surveysHTML; } function errorGetHandler(sender, args) { alert("Error: " + args.get_message()); } function getProduct() { list = hostweb.get_lists().getByTitle("Products"); var camlString = ""; var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml(camlString); allProducts = list.getItems(camlQuery); currentcontext.load(allProducts); currentcontext.executeQueryAsync( successGetProductHandler, errorGetProductHandler ); } function successGetProductHandler(data, req) { var productsHTML = ""; var enumerator = allProducts.getEnumerator(); while (enumerator.moveNext()) { var product = enumerator.get_current(); productsHTML = productsHTML + "<option value='" + product.get_id() + "'>" + product.get_item("Title") + "</option>"; } $("#sel_survey_product").empty(); document.getElementById("sel_survey_product").innerHTML = productsHTML; } function errorGetProductHandler(sender, args) { alert("Error: " + args.get_message()); } /*加载下拉列表值*/ function getSelf() { list = hostweb.get_lists().getByTitle("Surveys"); field = currentcontext.castTo(list.get_fields().getByInternalNameOrTitle("Lighting"), SP.FieldChoice); currentcontext.load(field); currentcontext.executeQueryAsync(ReadChoiceSuccess, ReadChoiceFailure); } /*加载下拉列表值*/ function ReadChoiceSuccess(sender, args) { var choices = field.get_choices(); } function ReadChoiceFailure(sender, args) { alert("f") } function getCustomer() { list = hostweb.get_lists().getByTitle("Customers"); var camlString = ""; var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml(camlString); allCustomers = list.getItems(camlQuery); currentcontext.load(allCustomers); currentcontext.executeQueryAsync( successGetCustomerHandler, errorGetCustomerHandler ); } function successGetCustomerHandler(data, req) { var customersHTML = ""; var enumerator = allCustomers.getEnumerator(); while (enumerator.moveNext()) { var customer = enumerator.get_current(); customersHTML = customersHTML + "<option value='" + customer.get_id() + "'>" + customer.get_item("Title") + "</option>"; } $("#sel_survey_customer").empty(); document.getElementById("sel_survey_customer").innerHTML = customersHTML; } function errorGetCustomerHandler(sender, args) { alert("Error: " + args.get_message()); } function getQueryStringParameter(paramToRetrieve) { var params = document.URL.split("?")[1].split("&"); //var strParams = ""; for (var i = 0; i < params.length; i = i + 1) { var singleParam = params[i].split("="); if (singleParam[0] == paramToRetrieve) return singleParam[1]; } } function fixNavgation() { $("#href_product").attr("href","Products.aspx"+window.location.search); $("#href_customer").attr("href","Customers.aspx"+window.location.search); $("#href_survey").attr("href","Default.aspx"+window.location.search); } })();