【问题标题】:How to populate select option:select dynamically如何填充选择选项:动态选择
【发布时间】:2020-06-18 09:35:34
【问题描述】:

我遇到了下拉列表中出现双值的问题,这与我想要的相反。
我有一个带有下拉菜单的购物车,用户可以从中选择一个cakesize,它的价值是价格。
我的设置是将购物车存储在浏览器的会话中,以便存储他选择的值。
我的问题是,当我加载页面时,选定的cakesize 出现两次,在 option selected 和列表上。

<select name="cakesize" class="custom-select cakesize">
    <option selected value="<%=cake.currentPrice%>"><%=cake.currentCakeSize %></option>
    <option value="<%=cake.item.price['1000'] %>">1kg</option>
    <option value="<%=cake.item.price['1500'] %>">1.5kg</option>
    <option value="<%=cake.item.price['2000'] %>">2kg</option>
    <option value="<%=cake.item.price['2500'] %>">2.5kg</option>
    <option value="<%=cake.item.price['3000'] %>">3kg</option>
    <option value="<%=cake.item.price['3500'] %>">3.5kg</option>
    <option value="<%=cake.item.price['4000'] %>">4kg</option>
    <option value="<%=cake.item.price['4500'] %>">4.5kg</option>
    <option value="<%=cake.item.price['5000'] %>">5kg</option>
 </select>

这样下去可以吗?

【问题讨论】:

  • 您的代码无法解决您的问题,请分享您的网站如何存储和检索会话的更多详细信息。
  • 您可以查看此链接:stackoverflow.com/questions/6601028/…
  • 一种解决方案可能是在每个 &lt;option&gt; 周围添加一个 if 块,如果值与所选大小匹配则隐藏它。像这样的东西:if cake.item.price['1000'] !== cake.currentPrice
  • @SonNguyen 谢谢。这似乎是正确的方式

标签: javascript html ejs


【解决方案1】:

正确的方法如下

<select name="cakesize" class="custom-select cakesize">

    <option value="<%=cake.item.price['1000'] %>" <%=cake.currentPrice == cake.item.price['1000'] ? 'selected' : '' %> >1kg</option>
    <option value="<%=cake.item.price['1500'] %>" <%=cake.currentPrice == cake.item.price['1500'] ? 'selected' : '' %> >1.5kg</option>
    <option value="<%=cake.item.price['2000'] %>" <%=cake.currentPrice == cake.item.price['2000'] ? 'selected' : '' %> >2kg</option>
    <option value="<%=cake.item.price['2500'] %>" <%=cake.currentPrice == cake.item.price['2500'] ? 'selected' : '' %> >2.5kg</option>
    <option value="<%=cake.item.price['3000'] %>" <%=cake.currentPrice == cake.item.price['3000'] ? 'selected' : '' %> >3kg</option>
    <option value="<%=cake.item.price['3500'] %>" <%=cake.currentPrice == cake.item.price['3500'] ? 'selected' : '' %> >3.5kg</option>
    <option value="<%=cake.item.price['4000'] %>" <%=cake.currentPrice == cake.item.price['4000'] ? 'selected' : '' %> >4kg</option>
    <option value="<%=cake.item.price['4500'] %>" <%=cake.currentPrice == cake.item.price['4500'] ? 'selected' : '' %> >4.5kg</option>
    <option value="<%=cake.item.price['5000'] %>" <%=cake.currentPrice == cake.item.price['5000'] ? 'selected' : '' %> >5kg</option>

</select>

【讨论】:

  • 太棒了!这做到了!谢谢
猜你喜欢
  • 1970-01-01
  • 2016-10-16
  • 2011-12-26
  • 2017-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多