前提・実現したいこと
スプレッドシートからユーザー名を、取得し一つ目のセレクトボックスに表示。
その際、その下にあるセレクトボックスの中身は、一つ目のセレクトボックスで現在選択されている
項目に関連のあるものだけ表示させたい
例えば、
xxxxxxxxスプレッドシートに
userとfoodというシートがあり
userには
|Aさん|
|Bさん|
|Cさん|
|Dさん|
foodには
リンゴ | Aさん |
バナナ | Cさん |
ブドウ | Aさん |
サクランボ | Bさん |
パイナップル | Aさん |
ピーチ | Dさん |
となっており、このとき
Aさんが選択されると、リンゴ、ブドウ、パイナップルだけが、セレクトボックスで選択できるようになり
Bさんが選択されると、サクランボだけが選択できるようになる
といった次第です。
発生している問題・エラーメッセージ
ReferenceError: 「document」が定義されていません。
該当のソースコード
html
1<form name="myForm" onsubmit="handleFormSubmit(this)"> 2 3 <select name="user"> 4 <? 5 var spreadsheet = SpreadsheetApp.openById('xxxxxxxx'); 6 var sheet = spreadsheet.getSheetByName('user'); 7 var myData = sheet.getDataRange().getValues(); 8 for(var i=0;i<myData.length;i++){ 9 output.append('<option value="user">' + myData[i][0] + '</option>'); 10 } 11 ?> 12 </select> 13 14 <select name="food"> 15 <? 16 var spreadsheet = SpreadsheetApp.openById('xxxxxxxx'); 17 var sheet = spreadsheet.getSheetByName('food'); 18 var myData = sheet.getDataRange().getValues(); 19 20 var element = document.myForm.user.value ; 21 22 for(var i=7;i<myData.length;i++){ 23 if(myData[i][2]== element){ 24 output.append('<option>' + myData[i][1] + '</option>'); 25 } 26 } 27 ?> 28 </select>
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。