LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Friday, May 29, 2020

データリストで選択した値と同じラジオボタンを選択したい


このブログ内でデモを作ろうとしたけれど、うまく動かなかったので画像で。

動きがないとわかりにくいけれどこういう感じです。



コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile("index");
}
意訳
この機能がやること
指定したHTMLファイルを表示する




index.html
<!DOCTYPE html>
<html>
<body>

  <input type="text" list="colors" id="color">
  <datalist id="colors">
    <option value="blue">
    <option value="green">
  </datalist>

  <form id="radios">
    <label><input type="radio" name="radio1" id="blue">blue</label><br>
    <label><input type="radio" name="radio1" id="green">green</label>
  </form>

<script>
document.getElementById("color").onchange = selectRadio;

function selectRadio() {
  var color = document.getElementById("color").value;
  var radios = document.getElementById("radios");
  var labels = radios.getElementsByTagName("label");
  
  for(var i = 0; i < labels.length; i++) {
    if(labels[i].textContent === color) {
      labels[i].click();
    }
  }
}
</script>

</body>
</html>
意訳
 



テキストボックス
テキストボックスにサジェストするリスト
blue
green


formを配置する
blueのラジオボタン
greenのラジオボタン


ここからJavaScript
idが"color"の値が変わったらselectRadioを実行する

この機能がやること
idが"color"の値を取得する
idが"radios"の要素を取得して
その中のlabel要素を取得する

label要素の数だけ繰り返す
label要素のテキストがcolorと同じなら
label要素をクリックする










Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...