2016-12-20 63 views
2

我在suitelet的GET部分中的多選場,我試圖用這個字段的值在支柱部。NetSuite的Suitelet SSV1變化多選值,以陣列

這是我在GET部分多選場,因爲它是由對象填充:

var marketplacesList = form.addField('selectedmarketplaces','multiselect','Marketplaces',null,'part3'); 

    for (var k in marketplaces){ 

     marketplacesList.addSelectOption(k,marketplaces[k].label); 

    } 

然後,當我登錄支柱部的值,例如:

var selectedMarkets = request.getParameter('selectedmarketplaces'); //gets a multiselect from GET section 

    nlapiLogExecution('DEBUG','selectedMarkets',selectedMarkets); 

我得到以下字符串:

「amazonComamazonUKamazonCAamazonFRamazonDEamazonITamazonJPamazonESebayComebayUkebayAuebayVolt」

如何使多選的數組,所以我可以使用它的迭代等的價值?

感謝,

  • 傑西

回答

2

做這樣的:

var selectedMarkets = request.getParameter('selectedmarketplaces'); //gets a multiselect from GET section 
selectedMarketsArray = selectedMarkets.split("\u0005"); //Turns it into an array 
nlapiLogExecution('DEBUG','selectedMarketsArray',JSON.stringify(selectedMarketsArray)); 
+0

謝謝!這樣可行。你能解釋一下split(「\ u0005」)是如何工作的嗎? – jdcaliff

+0

這些值由INQUIRY unicode字符分隔,當您執行日誌時,這個字符是不可見的。這裏更多的信息:http://www.fileformat.info/info/unicode/char/0005/index.htm –

+0

謝謝!這很有幫助。 – jdcaliff

1

對於NetSuite的2.0

var perams = context.request.parameters.selectedmarketplaces.split("\u0005") //Turns it into an array 
log.debug('perms', perams)