更改选择电台上的文字

时间:2012-11-15 14:59:39

标签: magento select checkbox

我需要一些关于此脚本的帮助。我需要在选择收音机标签时在productcode div上显示sku。

是$ j的一行(“输入#属性和输入:我无法解决的无线电

实际上,这可以选择尺寸或颜色。\ / p>

php code

<?php
$_product    = $this->getProduct();
$_attributes = Mage::helper('core')->decorateArray($this->getAllowAttributes());
?>
<?php if ($_product->isSaleable() && count($_attributes)):?>
    <dl>
    <?php foreach($_attributes as $_attribute): ?>
        <dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>

            <div class="input-box">
                <?php $configs = $this->getRegularConfig()?>
                <?php foreach($configs['attributes'] as $config):?>
                    <?php foreach($config['options'] as $value):?>
                        <dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
                        <label class="label-radio-configurable" id="<?php echo (float)$value['price'] + (float) $_product->getPrice();?>">
                        <input type="radio" name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]"
                                id="attribute<?php echo $_attribute->getAttributeId() ?>"
                                class="validate-custom-configurable"
                                value="<?php echo $value['id']?>"/>
                            <?php echo $value['label']?> (+ $<?php printf("%.2f", $value['price'])?>)
                        </label>
                    <?php endforeach;?>
                <?php endforeach;?>
                 </dd>
              </div>

    <?php endforeach; ?>
    </dl>
<?php endif;?>

JS脚本

<div id="productcode"></div>

<?php
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
?>

<script type="text/javascript">

var Skus =new Array();

<?php
$count = 1;
$itemId = array();
foreach($col as $simple_product){
$itemId[] = array($simple_product->getSelectLabel() => $simple_product->getSku());
}

foreach($itemId as $val){
foreach($val as $k => $v){
echo 'Skus['.$count.'] = "'.$v.'";'. "\n";
$count++;
}
};

?>

$j(document).ready(function(){

$j("#productcode").html("Code: " +Skus[1]);

$j("input#attribute<?php echo $_attribute->getAttributeId() ?>").change(function(){
var position = $j("#attribute<?php echo $_attribute->getAttributeId() ?> input").index($j("#attribute<?php echo $_attribute->getAttributeId() ?> input:radio));

$j("#productcode").html(Skus[position] ? "Code: " +Skus[position] : "Code: " +Skus[1]);
});

});

</script>

1 个答案:

答案 0 :(得分:0)

$j(document).ready(function()

而不是j使用jQuery

由于jquery冲突

请在您的jquery文件中写下以下代码

jQuery.noConflict();