Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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 如何使用select中的参数调用onchange事件_Javascript_Html_Google Apps Script_Dom Events - Fatal编程技术网

Javascript 如何使用select中的参数调用onchange事件

Javascript 如何使用select中的参数调用onchange事件,javascript,html,google-apps-script,dom-events,Javascript,Html,Google Apps Script,Dom Events,我有这个密码。填充一个下拉列表name=“street”,然后根据上一个下拉列表的值填充另一个下拉列表 现在,我必须添加一个单选按钮,并根据选中的选项和第一个下拉列表填充第二个下拉列表 我计划在一个单选按钮中添加onchange事件,但我不知道如何将第一个下拉列表的值作为参数传递 这不起作用: onchange="GetNumber(<script>document.getElementById("street").value<script>

我有这个密码。填充一个下拉列表
name=“street”
,然后根据上一个下拉列表的值填充另一个下拉列表

现在,我必须添加一个单选按钮,并根据选中的选项和第一个下拉列表填充第二个下拉列表

我计划在一个单选按钮中添加
onchange
事件,但我不知道如何将第一个下拉列表的值作为参数传递

这不起作用:

onchange="GetNumber(<script>document.getElementById("street").value<script>)"
onchange=“GetNumber(document.getElementById(“street”).value)”
分段

   <script>
        function GetNumber(street) 
        {
        
        google.script.run.withSuccessHandler(function(ar) 
        {
    
        console.log(ar);
        
        number.length = 0;
        
        let option = document.createElement("option");
        option.value = "";
        option.text = "";
        number.appendChild(option);
        
        ar.forEach(function(item, index) 
        {    
          let option = document.createElement("option");
          option.value = item[2];
          option.text = item[1];
          number.appendChild(option);    
        });
        
        }).getNumbers(street);
        


  
<form method="post" id="form" action="<?= url ?>" >   
        
          <label >Indirizzo</label><br>
          <select name="street" onchange="GetNumber(this.value)" >
          <option value="" ></option>
          <? for(var i = 0; i < streets.length; i++) { ?>      
          <option value="<?= streets[i] ?>" ><?= streets[i] ?></option>
          <? } ?>
          </select><br><br>
          <label class="radio-inline">
              <input type="radio" name="addressType" value="Domestic"   ****magic needed here****>Domestic</label>
              
           <label class="radio-inline">
              <input type="radio" name="addressType" value="Non-Domestic" checked> Non-Domestic</label><br>
          <label >Civico</label><br>
          <select name="number" id="number" onchange="ShowCondominiums(this.value)" >
          </select><br><br>
          <span id="Condominiums" >Condominiums: </span><br>
          <label >Some Data to Store as Sample</label>>
          <input type="text" name="name" /><br>

功能编号(街道)
{
google.script.run.withSuccessHandler(函数(ar)
{
控制台日志(ar);
number.length=0;
let option=document.createElement(“option”);
option.value=“”;
option.text=“”;
编号。追加子项(可选);
应收账款(功能(项目、索引)
{    
let option=document.createElement(“option”);
option.value=项目[2];
option.text=项目[1];
编号。追加子项(可选);
});
})*街号;
分段

   <script>
        function GetNumber(street) 
        {
        
        google.script.run.withSuccessHandler(function(ar) 
        {
    
        console.log(ar);
        
        number.length = 0;
        
        let option = document.createElement("option");
        option.value = "";
        option.text = "";
        number.appendChild(option);
        
        ar.forEach(function(item, index) 
        {    
          let option = document.createElement("option");
          option.value = item[2];
          option.text = item[1];
          number.appendChild(option);    
        });
        
        }).getNumbers(street);
        


  
<form method="post" id="form" action="<?= url ?>" >   
        
          <label >Indirizzo</label><br>
          <select name="street" onchange="GetNumber(this.value)" >
          <option value="" ></option>
          <? for(var i = 0; i < streets.length; i++) { ?>      
          <option value="<?= streets[i] ?>" ><?= streets[i] ?></option>
          <? } ?>
          </select><br><br>
          <label class="radio-inline">
              <input type="radio" name="addressType" value="Domestic"   ****magic needed here****>Domestic</label>
              
           <label class="radio-inline">
              <input type="radio" name="addressType" value="Non-Domestic" checked> Non-Domestic</label><br>
          <label >Civico</label><br>
          <select name="number" id="number" onchange="ShowCondominiums(this.value)" >
          </select><br><br>
          <span id="Condominiums" >Condominiums: </span><br>
          <label >Some Data to Store as Sample</label>>
          <input type="text" name="name" /><br>

我相信你的目标如下

  • 您希望检索第一个下拉列表的值和单选按钮的值
  • 您希望使用检索到的值更新第二个下拉列表的值
修改点:
  • 当我看到您的HTML时,我确认了
    。在这次修改中,我建议使用此值作为默认值
  • 在此修改中,当第一个下拉列表和单选按钮更改时,第二个下拉列表的值将通过
    GetNumber()
    更新
当上述各点反映到脚本中时,它将变成如下所示

修改脚本: HTML和Javascript端:
index.HTML
  • 使用此修改后的脚本时,请在脚本编辑器中运行
    openDialog
    。这样,将在电子表格上打开一个对话框,您可以测试修改后的脚本。因此,请将上述脚本复制并粘贴到电子表格的容器绑定脚本中
  • 当您打开对话框并更改第一个下拉列表时,第一个下拉列表的选定值和单选按钮的默认值(
    非国内
    )将发送到
    getNumbers(street,addressType)
    。这样,第二个下拉列表将被更新。当您更改单选按钮时,第一个下拉列表的选定值和单选按钮的更改值将被发送到
    getNumbers(street,addressType)
    。这样,第二个下拉列表将再次更新
注:
  • 在这次修改中,我不确定您的谷歌应用程序脚本端的脚本。因此,请使用上面修改的脚本修改您的实际脚本