使用来自 sweetalert2 中 json 对象的消息
use a message from a json object in sweetalert2
我使用 sweetalert2,通常我使用这个代码:
Swal.fire('my custom title','my custom message','info);
这很好用。
我想参数化从 json 中拾取一条消息的消息。所以我构建了以下内容:
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"
}
我的代码变为:
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>
我正确地识别出我应该打印什么消息,但我不能 return 相应的值并将其打印为消息。我的代码有什么问题?
要使用包含对象名称的变量访问对象的 属性,您需要使用括号表示法。
另请注意,message
的 data
属性值与演示对象中的任何 属性 都不匹配。在示例中,我已经更正了 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' -->
我使用 sweetalert2,通常我使用这个代码:
Swal.fire('my custom title','my custom message','info);
这很好用。 我想参数化从 json 中拾取一条消息的消息。所以我构建了以下内容:
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"
}
我的代码变为:
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>
我正确地识别出我应该打印什么消息,但我不能 return 相应的值并将其打印为消息。我的代码有什么问题?
要使用包含对象名称的变量访问对象的 属性,您需要使用括号表示法。
另请注意,message
的 data
属性值与演示对象中的任何 属性 都不匹配。在示例中,我已经更正了 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' -->