【如何使属性没有默认选项,而点击购物车的时候,显示提示窗口】

2016-07-07 15:03 来源:www.chinab4c.com 作者:ecshop专家

  如何使单选属性没有默认选择项???
  同时在不选择属性而点击购物车的时候,显示“请选择**”的提示窗口???

回答:
我也有此类问题,默认选择很容易发错货。请斑竹给出解答!

意思就是打开商品页面后(单选属性)没有默认的属性(就和复选属性一样),当买家点击加入购物车时如果不选择属性,会弹出对话框提示买家选择属性。如果有默认的属性,有的买家不注意很容易发错货!

等待斑竹解答!谢谢

怎样修改,请高手指点



1、打开模板目录的good.dwt文件
找到如下代码:
  1. <select name="spec_{$spec_key}" onchange="changePrice()">
  2. <!-- {foreach from=$spec.values item=value key=key} -->
  3. <option label="{$value.label}" value="{$value.id}">{$value.label} {if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if}{if $value.price neq 0}{$value.format_price}{/if}</option>
  4. <!-- {/foreach} -->
  5. </select>
复制代码


修改为:
  1. <select name="spec_{$spec_key}" onchange="changePrice()">
  2. <option selected="selected" value="">---请选{$spec.name}---</option>
  3. <!-- {foreach from=$spec.values item=value key=key} -->
  4. <option label="{$value.label}" value="{$value.id}">{$value.label} {if $value.price gt 0}{$lang.plus}{elseif $value.price lt 0}{$lang.minus}{/if}{if $value.price neq 0}{$value.format_price}{/if}</option>
  5. <!-- {/foreach} -->
  6. </select>
复制代码


即增加了<option selected="selected" value="">---请选{$spec.name}---</option>

以上目的:自定义商品属性的默认值,而且其value值为空。


2、打开js/common.js
找到如下代码(45-47行):
  1. if (prefix == 'spec_' && (
  2. ((formBuy.elements.type == 'radio' || formBuy.elements.type == 'checkbox') && formBuy.elements.checked) ||
  3. formBuy.elements.tagName == 'SELECT'))
复制代码


修改为:
  1. if (prefix == 'spec_' && (
  2. ((formBuy.elements.type == 'radio' || formBuy.elements.type == 'checkbox') && formBuy.elements.checked) ||
  3. formBuy.elements.tagName == 'SELECT' && formBuy.elements.value !== ''))
复制代码



即:增加了“&& formBuy.elements.value !== ''

以上目的:用于检测是否已经选中其中一条数据。

修改完毕。