简体   繁体   English

在 sweetalert2 中使用来自 json object 的消息

[英]use a message from a json object in sweetalert2

I use sweetalert2 and usually I use this code:我使用 sweetalert2,通常我使用以下代码:

Swal.fire('my custom title','my custom message','info);

and this works fine.这很好用。 I want to parametrize the message picking up one message from a json.我想参数化从 json 中拾取一条消息的消息。 So I built the following:所以我建立了以下内容:

var messages={
  margine: "Il margine è la somma del margine dei mesi precendenti e del margine per mese del mese attuale.", 
  margine_mese: "Il margine per mese è calcolato come differenza tra le entrate del mese e le uscite del mese stesso, senza tenere conto di quanto avvenuto in precedenza",
  radio_cassa: "Il budget per cassa calcola i movimenti nella data in cui creano un movimento di entrata o uscita. I movimenti della carta di credito sono considerati nel mese in cui il relativo saldo viene addebitato in banca", 
  radio_competenza: "Il budget per competenza calcola i movimenti nella data di esecuzione. I movimenti della carta di credito saranno considerati nel mese in cui sono effettuati"
}

and my code becomes:我的代码变成:

 var messages = { margine: "Il margine è la somma del margine dei mesi precendenti e del margine per mese del mese attuale.", margine_mese: "Il margine per mese è calcolato come differenza tra le entrate del mese e le uscite del mese stesso, senza tenere conto di quanto avvenuto in precedenza", radio_cassa: "Il budget per cassa calcola i movimenti nella data in cui creano un movimento di entrata o uscita. I movimenti della carta di credito sono considerati nel mese in cui il relativo saldo viene addebitato in banca", radio_competenza: "Il budget per competenza calcola i movimenti nella data di esecuzione. I movimenti della carta di credito saranno considerati nel mese in cui sono effettuati" } $('#myButton').click(function() { var what = $(this).data('value'); console.log(what); Swal.fire('Info', messages.what, 'info'); console.log(messages.what); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script> <button id="myButton" data-value="message">Click me</button>

I identify correctly what message should I print but I cannot return the corresponding value and print it as message.我正确识别了我应该打印什么消息,但我无法返回相应的值并将其打印为消息。 What is wrong in my code?我的代码有什么问题?

To access the property of an object using a variable holding its name you need to use bracket notation.要使用保存其名称的变量访问 object 的属性,您需要使用括号表示法。

Also note that the data attribute value of message doesn't match any property in the demo object.另请注意, messagedata属性值与演示 object 中的任何属性都不匹配。 In the example I've corrected that error in your HTML.在示例中,我已经纠正了 HTML 中的错误。

 var messages = { margine: "Il margine è la somma del margine dei mesi precendenti e del margine per mese del mese attuale.", margine_mese: "Il margine per mese è calcolato come differenza tra le entrate del mese e le uscite del mese stesso, senza tenere conto di quanto avvenuto in precedenza", radio_cassa: "Il budget per cassa calcola i movimenti nella data in cui creano un movimento di entrata o uscita. I movimenti della carta di credito sono considerati nel mese in cui il relativo saldo viene addebitato in banca", radio_competenza: "Il budget per competenza calcola i movimenti nella data di esecuzione. I movimenti della carta di credito saranno considerati nel mese in cui sono effettuati" } $('#myButton').click(function() { var what = $(this).data('value'); Swal.fire('Info', messages[what], 'info'); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script> <button id="myButton" data-value="margine">Click me</button> <.-- eg. 'margine' not 'message' -->

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM