Javascript API issue
Javascript API issue
我目前有这个
<option ng-id="1186384773090640435" value="1186384956868264500">Product Name</option>
我需要同时获取 id 和值并将其插入到下面:
moltin.Cart.Insert($scope.productId, qty, { "1186384773090640435" : { "1186384956868264500" : 1} }, function (cart) {
我该怎么做?
我目前正在做这样的事情,但它不起作用:
modi = $(this).attr('ng-id');
vari = $(this).attr('value');
moltin.Cart.Insert($scope.productId, qty, { modi : { vari : 1} }, function (cart) {
我可以假设它,因为值不是字符串或对象。不太确定。
创建对象文本时,不能将变量值用作对象属性名称(除非编写ES20015)。您将需要类似以下内容:
modi = $(this).attr('ng-id');
vari = $(this).attr('value');
((insert = {})[modi] = {})[vari] = 1
moltin.Cart.Insert ($scope.productId, qty, insert, function ( ...
解释:
在第三行中,我们首先将一个名为 insert
的变量设置为空对象 (insert = {})
。在该对象中,我们添加一个属性,其名称是变量 modi
的值,其值为空对象:( ...[modi] = {})
。该空对象又被赋予一个属性,其名称为 vari
的值,其值为 1。整个表达式返回值 1,这解释了为什么我们需要设置一个变量名称来引用第一个创建的对象。
Javascript如此包容;-)
或(在三行中只有一个变量):
let insert = {};
(insert[$(this).attr('ng-id')] = {})[$(this).attr('value')] = 1
moltin.Cart.Insert ($scope.productId, qty, insert, function ( ...
在ES2015(ES6)中,您可以直接将其编码为:
moltin.Cart.Insert ($scope.productId, qty, {[modi]: {[vari]: 1}}, function ( ...
相关文章:
- 如何更改bigquery API中的计费层选项
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 使用Facebook live API创建实时视频对象时的隐私设置
- issue with FB.Event.subscribe
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- API密钥使用和检查示例
- JSON Issue with API HREF
- Javascript API issue
- 使用nodejs和request:response通过api在github中创建Issue
- Issue with JavaScript API
- Twitter rest api request_token Issue
- Glide.js api issue
- smartystreets API and post back issue
- angular2 : issue with rest api
- Google Maps API v3 Firefox issue
- Twitch TV JSON API Issue
- Google Maps API - Map.data scope issue