Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌工作表脚本的下拉列表,可选择插入自由文本_Javascript_Google Apps Script_Bootstrap 4 - Fatal编程技术网

Javascript 谷歌工作表脚本的下拉列表,可选择插入自由文本

Javascript 谷歌工作表脚本的下拉列表,可选择插入自由文本,javascript,google-apps-script,bootstrap-4,Javascript,Google Apps Script,Bootstrap 4,因此,我试图得到一个下拉列表,这将允许我也插入免费文本与此代码我可以选择一个项目,从我选择的范围在谷歌表,但有没有办法使它也将允许文本输入新的文本。这是我的密码 我也尝试过使用Datalist(可能更好),但我无法让它正常工作。如果您能提供帮助,我将不胜感激 <div class="row"> <script type="text/javascript"></script> <

因此,我试图得到一个下拉列表,这将允许我也插入免费文本与此代码我可以选择一个项目,从我选择的范围在谷歌表,但有没有办法使它也将允许文本输入新的文本。这是我的密码 我也尝试过使用Datalist(可能更好),但我无法让它正常工作。如果您能提供帮助,我将不胜感激

<div class="row">
        <script type="text/javascript"></script>
 
         <script>
          <?
          var sheet   = SpreadsheetApp.openById("ID").getSheetByName("Sheet");
          var lastRow = sheet.getLastRow();  
          var myRange = sheet.getRange("A2:A"+lastRow); 
          var data    = myRange.getValues();
          
          ?>
          google.script.run.withSuccessHandler(populategetEmp1).getEmp1();
         </script>  
   
    <div class="form col-md-6">
      <label for="emp1">Client</label>
        <select  id = "emp1" class="form-control" >
         <option value=""  ></option> 
         <? for (var i = 0; i < data.length; ++i) { ?>
         <option ><?!= data[i] ?></option>
         <? } ?>
        </select>
      </div>

google.script.run.withSuccessHandler(populategetEmp1.getEmp1();
客户

我相信你的目标如下

  • 您想为下拉列表添加文本输入
在这种情况下,如何使用datalist标记,如下所示

修改脚本:

功能测试(){
var值=document.getElementById(“输入”).value;
console.log(值)
}
//google.script.run.withSuccessHandler(populategetEmp1.getEmp1();
//
//函数populateTemp1(){
//返回;
//}
客户

我提出了一个修改后的脚本作为答案。你能确认一下吗?如果这不是你所期望的方向,我道歉。那很好。再次感谢你的帮助塔奈克
<script>
function test() {
  var value = document.getElementById("input").value;
  console.log(value)
}

//google.script.run.withSuccessHandler(populategetEmp1).getEmp1();
//
//function populategetEmp1() {
//  return;
//}
</script>

<div class="form col-md-6">
<label for="emp1">Client</label>
<input type="text" id="input" list="emp1" placeholder="Input text.">
<datalist id="emp1" class="form-control" >
  <?
  var sheet   = SpreadsheetApp.openById("ID").getSheetByName("Sheet");
  var lastRow = sheet.getLastRow();
  var myRange = sheet.getRange("A2:A"+lastRow);
  var data    = myRange.getValues();
  for (var i = 0; i < data.length; ++i) { ?>
  <option value="<?!= data[i] ?>">
  <? } ?>
</datalist>
</div>
<button onclick="test()">Click</button>