有什么方法可以获取选项标签值并将其传递给车把中的助手吗?

Is there any way to get an option tag value and pass it to a helper in handlebars?

我正在使用 express 和 handlebars,所以我有一个视图,我想在给定事件时显示一些信息,当客户端 select 来自 select 的选项时 标签,首先,我有一些问题:

  1. 是否可以获取选项标签值并将其发送到助手中?
  2. 有什么方法可以在onChange事件触发时调用helper吗?

我试图让助手可以从视图 html 中包含的脚本访问,但后来我意识到这与在应用程序上声明它是一样的。 还尝试使用 javascript 和 return 获取标签值到 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 发送 selected 选项,并将其发送给使用该信息的助手,如代码所示。

上面的助手是为 select 下拉菜单构建选项标签,区域是 json 从数据库中检索的数据。

看起来你搞砸了前端和后端。事件处理发生在前端。处理代码应该是您视图的一部分,而不是后端。

<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>