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