2013-04-02 34 views
0

我正在使用Magento并使用它们的自定义选项功能。我有一些工作代码,但后来我发现当我添加第二个产品时,每个自定义选项的“值”都会增加,因为它只是数据库中分配的自动增量ID。基于答案的动态下拉显示独特文本

我希望在这里在stackoverflow伟大的人可以帮助我找到一种方法来显示每个自定义选项的自定义文本。

要启动这里是Magento的生成的选择:

 <select name="options[6]" id="select_6" 
class=" required-entry product-custom-option" title="" 
onchange="opConfig.reloadPrice();displayCondition();"> 
<option value="" >-- Please Select --</option> 
<option value="13" >Perfect </option> 
<option value="25" >Excellent </option> 
<option value="15" >Good </option> 
<option value="24" >Poor </option> 
<option value="17" >Broken </option></select> 

这里是我当前的Javascript

<script language="javascript"> 
    function displayCondition() { 
condition = new Array("Please Select a Condition.", 
"<b>Perfect:</b> Text to explain perfect condition!", 
"<b>Excellent:</b> Text to explain excellent condition!", 
"<b>Good:</b> Text to explain good condition!", 
"<b>Poor:</b> Text to explain poor condition!", 
"<b>Broken:</b> Text to explain broken condition!"); 
    var getsel = document.getElementById('select_<?php echo $_option->getId();?>').price; 
    document.getElementById("divId").innerHTML = condition[getsel]; 
    } 
</script> 

最后股利为它在

<div id="divId" name="divName" style="width:100%; text-align:center; color:#FFFFFF; margin-top:25px;"></div> 

我展示开放给所有的建议,甚至杀了这个更好的方法。请记住,我不能改变太多,只要每个选项都是这样,就会在生成的代码中显示什么内容。我一直没能找到合适的文件到其他选项添加到它们(即姓名或名称)谢谢


开始尝试这个,我觉得这是有前途的。有些事情是不对的,因为它还没有显示任何东西。

<script language="javascript"> 

    function showConditions(sel){ 
locations =[ "", /*this remains blank for first selection in drop-down list*/ 
/*option 1*/     
"<b>Perfect</b> Blah Blah ", 
/*option 2*/     
"<b>Excellent</b> Blah Blah ", 
/*option 3*/     
"<b>Good</b> Blah Blah ", 
/*option 4*/     
"<b>Poor</b> Blah Blah", 
/*option 5*/     
"<b>Broken</b> Blah Blah", ]; 
       srcLocation = locations [sel.selectedIndex];   
if (srcLocation != undefined && srcLocation != "") { 
document.getElementById('divId').innerHTML= srcLocation; 
} 
} 
</script> 

onchange="opConfig.reloadPrice();showConditions(this);" 

回答

0

我是在底部得到它的工作打的代码。我有一个额外的</div>标签,导致它不显示。乌兹!