需要在for循环中隐藏html输入

时间:2017-11-03 02:01:47

标签: javascript twig swig-template

我正在使用swig / twig在select语句中创建一个循环。我这样做是因为我需要一个变量值,你会看到。我有它所以值都很好但是当我加载页面时它显示除了select之外的循环中的顶部选项。就像在它下面一样。这是我的循环:

<select class="form-control selectpicker" title="Asset" name="asset" data-live-search="true">
 {%  for asset in assets  %}
  <option value="{{ asset.assetNumber }}">{{ asset.model }} | {{ asset.assetNumber }}</option>
  <input type="hidden" name="assetID" value="{{asset.id}}">
 {% endfor %}
</select>

我可以在数组中拥有无限的东西但仍然只有1将在选择器中。这导致它因此我不能使用选择器来满足我的需要并且因为它基于该值而使整个页面失败。

我也试过<button value="{{asset.id}}"></button>但是当我在后期路线中注销变量时它不会出现在控制台中。如何让它显示在后期路线中但不影响我的选择器?

<select class="form-control selectpicker" title="Asset" name="assignSel" data-
 live-search="true">
 {%  for assign in assigns  %}
   <option name="assign" value="{{ assign.id }}">{{ assign.subuser }} | {{ 
  assign.asset.num }}</option>
  <input type="hidden" name="outdate" value="{{ assign.checkoutDate }}"/>
 {% endfor %}
</select>

1 个答案:

答案 0 :(得分:0)

根据评论中的建议使用数据属性,但您仍需要一些javascript来将数据值分配给表单

的javascript

$('select[name="asset"]').on('change', function() {
    $('input[name="assetID"]').val($('option:selected', this).data('asset-id'));
    console.log($('input[name="assetID"]').val());
});

枝杈

<select class="form-control selectpicker" title="Asset" name="asset" data-live-search="true">
{% for asset in assets %}
     <option value="{{ asset.assetNumber }}" data-asset-id="{{ asset.id }}">{{ asset.model }} | {{ asset.assetNumber }}</option>
{% endfor %}
</select>
<input type="hidden" name="assetID" value="">