有没有办法获取选项标签值并将其传递给车把中的助手?
Posted
技术标签:
【中文标题】有没有办法获取选项标签值并将其传递给车把中的助手?【英文标题】:Is there any way to get an option tag value and pass it to a helper in handlebars? 【发布时间】:2020-01-03 06:49:54 【问题描述】:我正在使用 express 和车把,所以我有一个视图,当客户端从 select 标记中选择一个选项时,我想在给定事件的情况下显示一些信息,首先,我有一些关于它的问题:
-
是否可以获取选项标签值并将其发送到帮助程序?
有什么方法可以在 onChange 事件触发时调用帮助器?
我试图让帮助程序可以从视图的 html 中包含的脚本访问,但后来我意识到它与在 app.xml 中声明它是一样的。 还尝试使用 javascript 获取标记值并将其返回到 html,但这也不起作用。
<div class="col-sm-3">
<div>
<label for="zoneSelect"><span class="control-label badge badge-light">Zone monitoring</span></label>
</div>
<div>
<select id="zoneSelect" class="custom-select" onchange="eventHandler selectedOptionValue ">
getZones zones
</select>
</div>
</div>
getZonas: function(zonas)
var str;
zonas.forEach(element =>
str += '<option value="'+element._id+'">' + element.nombre + '</option>';
);
return new Handlebars.SafeString(str);
所以,我的想法是从 select 中发送选定的选项,并将其发送给使用该信息的助手,如代码所示。
上面的助手是为选择下拉菜单构建选项标签,区域是从数据库中检索的 json 数据。
【问题讨论】:
【参考方案1】:看起来你搞砸了前端和后端。事件处理发生在前端。处理代码应该是您视图的一部分,而不是后端。
<script>
function onZoneSelect (value)
// Real action here
console.log('ZONE', value);
</script>
<select id="zoneSelect" class="custom-select" onchange="onZoneSelect(this.value)">
<!-- This code could be generated on backend with handlebars -->
<!-- BEGIN -->
<option value="Z01">Zone 01</option>
<option value="Z02">Zone 02</option>
<option value="Z03">Zone 03</option>
<option value="Z04">Zone 04</option>
<option value="Z05">Zone 05</option>
<!-- END -->
</select>
【讨论】:
以上是关于有没有办法获取选项标签值并将其传递给车把中的助手?的主要内容,如果未能解决你的问题,请参考以下文章
双击datagridview中的行并获取特定单元格的值并将其传递给另一个表单
有没有办法隔离测试失败的OR条件语句中的条件并将其传递给另一个方法?
如何获取单选按钮的值并将其传递给 laravel 中的控制器?