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

    <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);"
4

1 回答 1

0

我在底部玩的代码让它工作了。我有一个额外的</div>标签导致它不显示。伍兹!

于 2013-04-02T23:53:30.470 回答