리스트 박스 2 개 파라미터에 "도시"값을 수용하고,이 값을 "반환". 두 번째 매개 변수는 선택적이며,없는 경우 반환 값은 표시된 값이됩니다.
이 두 번째 필드를 쉼표가없는 값과 함께 사용할 수 있습니까 (예 : | 구분 기호를 사용하면 각 배열 요소에서 대체하여 원래 값을 쉽게 다시 작성할 수 있습니다.
다음과 같은 코드가 될 것이다 :
이
(당신이 길이를 가지고 왜 당신은 또한 당신의 목록에 이름을 잊어 버렸습니다, 그건 = e.parameter.list에 대한 정의되지 않은)
function doGet() {
var app = UiApp.createApplication().setTitle('test');
var completedReportsList = app.createListBox(true)
.setId('list').setName('list')
.addItem("Bloggs, Joe","Bloggs| Joe")
.addItem("Doe, Jane","Doe| Jane");// this could of course be obtained in the script with a .replace string method.
var generatePDFButton = app.createButton("Generate PDFs").setId("generatePDFButton");
var generatePDFButtonHandler = app.createServerClickHandler('generatePDF').addCallbackElement(completedReportsList);
generatePDFButton.addClickHandler(generatePDFButtonHandler);
app.add(completedReportsList).add(generatePDFButton)
return app
}
function generatePDF(e) {
var app = UiApp.getActiveApplication();
Logger.log(e.parameter.list.split(',').length); // undefined
var listValues = e.parameter.list.split(','); // an array of values
for(var n in listValues){
Logger.log(listValues[n].replace('|',','));
}
return app;
}
그리고 다음은 doGet 함수에서 대체 필드를 자동으로 생성하는 수정 된 버전입니다.
function doGet() {
var app = UiApp.createApplication().setTitle('test');
var completedReportsList = app.createListBox(true).setId('list').setName('list');
var items = ["Bloggs, Joe","Doe, Jane"];
for(var n in items){
item = items[n];
modItem = items[n].replace(',','|');
completedReportsList.addItem(item,modItem);
}
var generatePDFButton = app.createButton("Generate PDFs").setId("generatePDFButton");
var generatePDFButtonHandler = app.createServerClickHandler('generatePDF').addCallbackElement(completedReportsList);
generatePDFButton.addClickHandler(generatePDFButtonHandler);
app.add(completedReportsList).add(generatePDFButton)
return app
}
감사합니다. listitem의 값 매개 변수를 사용하여 abl했습니다. 그것을 해결하는 e – olilarkin