有没有办法获取选项标签值并将其传递给车把中的助手?

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 中的控制器?

从服务器获取数据并将值传递给 React 中的子组件(useEffect、useFetch..)

识别选择了哪个tableviewcell并将值传递给另一个视图控制器[重复]