我有一个购物篮问题。某些产品有颜色/尺寸等选项。我为颜色/尺寸选择框,为数量输入。
<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'] );