Имам един куп входни елементи, които извикват функция при кликване. Предават куп параметри с информация за това, което е кликнало.
Така:
onClick="updateCart("product_id", "product_name", "product_price");"
Сега искам да създам функция, която взема тези параметри и ги поставя в масив.
var updateCart = function (product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign) {
this.product_row = [];
};
Как да направя това?
Отговори:
1 за отговор № 1Както каза, най-лесният начин ще бъде да се използва arguments
променлива, която ще съдържа всички пропуснати параметри във формат, подобен на масив. Трябва да го преобразувате в масив както следва:
var updateCart = function() {
this.product_row = Array.prototype.slice.call(arguments);
// another way: this.product_row = [].slice.call(arguments);
};
1 за отговор № 2
var updateCart = function (product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign) {
this.product_row = [ product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign ];
};
Не е ли това, което търсите?
При извличане на информацията, която просто използвате:
this.product_row[0]; //returns product_type
Но ако имате нужда от нещо по-разбираемо, използвайте вместо това обект:
var updateCart = function (product_type, product_id, cost_model_id, product_name, subscription_campaign, startup_campaign) {
this.product_row = { "productType": product_type, "productID": product_id, "costModelID": cost_model_id, "productName": product_name, "subscriptionCampaign": subscription_campaign, "startupCampaign": startup_campaign };
};