我有一个购物篮问题。某些产品有颜色/尺寸等选项。我为颜色/尺寸选择框,为数量输入。

<select name="productOption[1234][color]">
<select name="productOption[1234][size]">
<input type="text" name="productOption[1234][qty]">


因此option是一个数组,其中包含每个产品的值。在上面的示例中是id = 1234的product的选项。

我试过了

var productOptions=$("name^='productOption["+productID+"]'").val();


期望获得给定productID的选项数组,但无法正常工作。
这些选项是动态的,某些产品可以有其他选项

任何人都可以通过选择器帮助我,以便检索给定productID的值数组并将其传递给serverSide。

谢谢

最佳答案

我认为这是您要假设使用的是jQuery。

<script type="text/javascript">
function getProductDetails( product_id ) {
    var product_details = [];
    jQuery( '[name*="productOption[' + product_id + ']"]' ).each( function() {
        var option = jQuery( this );
        var type = option.attr( 'name' ).match( /productOption\[\d+\]\[(\w+)\]/ );
        product_details[ type[1] ] = option.val();
    } );

    return product_details;
}
</script>


这将返回一个关联的数组。所以你可以做...

var details = getProductDetails( 1234 );
alert( details['qty'] );

10-04 17:38