HtmlService表单 - 动态DropdownList

时间:2016-04-29 05:24:38

标签: javascript google-apps-script

我有一个HtmlService表单,用于从用户处获取数据。

表单中有多个dropdownlist

如果用户已在第一个dropdownlist中选择了该选项,是否可以从后续dropdownlist中删除选择? google.script.run能够做到吗?

1 个答案:

答案 0 :(得分:3)

您正在寻找的内容可以在网页上使用JavaScript完成,无需使用google.script.run回拨给服务器。这是一个示例JSfiddle,您可以在其中单击下拉列表并使用JQuery显示站点的新部分:https://jsfiddle.net/rorfw6mb/1/

这应该向您展示一种基本方式,您可以根据用户选择在页面上显示不同的元素。

var optionsTemplates = { 
  'Option 1': '<span>Option 1 selected</span>',
  'Option 2': '<span>Option 2 selected</span>',
  'Option 3': '<span>Option 3 selected</span>',
  'Option 4': '<span>Option 4 selected</span>'
};

$('select').on('change', function(){
  let value = $(this).val();
  console.log(value);
  if(value !== ''){
    $('#option-container').removeClass('hidden');
    $('#option-container').html(optionsTemplates[value]);
  } else {
  	$('#option-container').addClass('hidden');
  }
})
#option-container.hidden {
  display: none;
}

#option-container {
  margin: 5px;
  border: 2px solid blue;
  width: auto;
  display:inline;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option></option>
  <option value="Option 1">Option 1</option>
  <option value="Option 2">Option 2</option>
  <option value="Option 3">Option 3</option>
  <option value="Option 4">Option 4</option>
</select>

<div id="option-container" class="hidden">
  
</div>