不限制 多个 select 写法 HTML
<dd> <div class="input-box"> <button title="minus" onclick="addSelect('select_44');opConfig.reloadPrice();" class="minus_option">+</button> <select name="options[44]" id="select_44" class=" product-custom-option" title="" onchange="opConfig.reloadPrice()"> <option value="">-- 请选择 --</option><option value="86" price="65.3">10件 +¥ 65.30</option> <option value="87" price="130.6">20件 +¥ 130.60</option> <option value="88" price="195.9">30件 +¥ 195.90</option> </select> <button title="add" onclick="minusSelect('select_44');opConfig.reloadPrice()" class="add_options">-</button> </div> </dd>
不限制 多个 select 写法 JS
/** * WeiCot Framework * User: ajiang * WebSite: WWW.WEICOT.COM * Date: 2016/08/11 0006 * Time: 17:41 * Select + - 选中效果 JS */ console.log('wwww.weicot.com WF ajing '); //提示语言 var maxErreoMsg='Max Option'; var minusErreoMsg='Minus Option'; //option 下一个 选项 function addSelect(id){ var option=document.getElementById(id); var selectId =getSel(option); //获得选中的 ID if(selectId>=0 && selectId<=option.length){ //判断 是否大于选项数目 option.options[selectId+1].selected = 'selected'; console.log('A=//:'+selectId); } else{ alert(maxErreoMsg); console.log('AE=//:'+selectId); } } //option 上一个选项 function minusSelect(id){ var options=document.getElementById(id); var selectedId=getSel(options)-1; if(selectedId>=0 && selectedId<options.length){ console.log('C=//:'+selectedId); options.options[selectedId].selected = 'selected'; }else{ alert(minusErreoMsg); console.log('CE=//:'+selectedId); } } //获得选中的 ID function getSel(obj){ for(var i=0;i<obj.options.length;i++){ if(obj.options[i].selected){ console.log('B=//:'+i); return i; } } }
单个 Select 情况写法
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <dd> <div class="input-box"> <button title="minus" onclick="addSelect('select_44');opConfig.reloadPrice();" class="minus_option">+</button> <select name="options[44]" id="select_44" class=" product-custom-option" title="" onchange="opConfig.reloadPrice()"> <option value="">-- 请选择 --</option><option value="86" price="65.3">10件 +¥ 65.30</option> <option value="87" price="130.6">20件 +¥ 130.60</option> <option value="88" price="195.9">30件 +¥ 195.90</option> </select> <button title="add" onclick="minusSelect('select_44');opConfig.reloadPrice()" class="add_options">-</button> </div> </dd> <script> /** * WeiCot Framework * User: ajiang * WebSite: WWW.WEICOT.COM * Date: 2016/08/11 0006 * Time: 17:41 * Select + - 选中效果 JS * 不支持多 函数外面那个 selectId 会一直累加 */ console.log('wwww.weicot.com WF ajing '); var selectId=0; //提示语言 var maxErreoMsg='Max Option'; var minusErreoMsg='Minus Option'; //option 下一个 选项 function addSelect(id){ var option=document.getElementById(id); selectId=selectId+1; if(selectId<option.length){ //判断 是否大于选项数目 option.options[selectId].setAttribute("selected", true); }else{ alert(maxErreoMsg); } } //option 上一个选项 function minusSelect(id){ var options=document.getElementById(id); var selectedId=getSel(options)-1; if(selectedId>=0 && selectedId<options.length){ console.log('C=//:'+selectedId); options.options[selectedId].selected = 'selected'; }else{ alert(minusErreoMsg); } } //获得选中的 ID function getSel(obj){ for(var i=0;i<obj.options.length;i++){ if(obj.options[i].selected){ console.log('D=//:'+i); return i; } } } </script>
转载请注明:(●--●) Hello.My Weicot » Js select option 点击加减选择下一个 或上一个 效果