我有一个代码可以比较我得到的变量是否等于某个值。所以代码是这样的:
if (data[name] == '1222 €'){
ResultField = ResultField + 'Beschrijving van de maningsprocedure: : rekeningoverzichten ' + '<br>';
}
问题是,我得到的是例如'1222 €'. '1222 €' == '1222 €'
是假的,所以它不会进入if。如果我把代码放在这样:
if (data[name] == '1222 €'){
ResultField = ResultField + 'Beschrijving van de maningsprocedure: : rekeningoverzichten ' + '<br>';
}
由于特殊字符,代码甚至无法开始执行。那么我怎样才能使'1222 €' == '1222 €'
成为真的呢?
这是我正在使用的所有代码:
$(function() {
setTimeout(function() {
DINK.utils.input.formula.add({
path : 'IbanDrive/Newcollection/eurosymbol',
types : {
'IbanDrive/Newcollection/eurosymbol/FrequentieVanDeManingsprocedure' : 'text',
'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen' : 'text',
'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen2' : 'text',
'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen3' : 'text',
'IbanDrive/Newcollection/eurosymbol/HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden' : 'array',
'IbanDrive/Newcollection/eurosymbol/empty' : 'text',
'IbanDrive/Newcollection/eurosymbol/empty2' : 'text',
'IbanDrive/Newcollection/eurosymbol/empty3' : 'text',
'IbanDrive/Newcollection/eurosymbol/debiteuren' : 'text',
'IbanDrive/Newcollection/eurosymbol/debiteuren2' : 'text',
'IbanDrive/Newcollection/eurosymbol/debiteuren3' : 'text',
'IbanDrive/Newcollection/eurosymbol/BeschrijvingVanDeManingsprocedure' : 'text',
'IbanDrive/Newcollection/eurosymbol/ZoJaVoorWelkBedragAantalDebiteuren' : 'array',
'IbanDrive/Newcollection/eurosymbol/testDim' : 'text'
},
names : {
'IbanDrive/Newcollection/eurosymbol/testDim' : 'testDim'
},
change : {
},
anyChange : function(data) {
var FrequentieVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/FrequentieVanDeManingsprocedure';
var tijdstipVdagen = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen';
var tijdstipVdagen2 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen2';
var tijdstipVdagen3 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen3';
var HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden = 'IbanDrive/Newcollection/eurosymbol/HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden';
var empty = 'IbanDrive/Newcollection/eurosymbol/empty';
var empty2 = 'IbanDrive/Newcollection/eurosymbol/empty2';
var empty3 = 'IbanDrive/Newcollection/eurosymbol/empty3';
var debiteuren = 'IbanDrive/Newcollection/eurosymbol/debiteuren';
var debiteuren2 = 'IbanDrive/Newcollection/eurosymbol/debiteuren2';
var debiteuren3 = 'IbanDrive/Newcollection/eurosymbol/debiteuren3';
var BeschrijvingVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/BeschrijvingVanDeManingsprocedure';
var ZoJaVoorWelkBedragAantalDebiteuren = 'IbanDrive/Newcollection/eurosymbol/ZoJaVoorWelkBedragAantalDebiteuren';
var testDim = 'IbanDrive/Newcollection/eurosymbol/testDim';
console.log('write this');
var dinkResultField = '';
if (data[FrequentieVanDeManingsprocedure] == 'wekelijks'){
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: wekelijks' + '<br>';
}
if (data[FrequentieVanDeManingsprocedure] == '14 daags'){
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: 14 daags' + '<br>';
}
if (data[FrequentieVanDeManingsprocedure] == 'maandelijks'){
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: maandelijks' + '<br>';
}
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden] != undefined){
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden].length != 0){
dinkResultField = dinkResultField + 'Heeft u de laatste drie jaar debiteurenverliezen geleden ? : ';
for (i = 0; i < data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden].length; i++) {
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden][i] == 'ja '){
dinkResultField = dinkResultField + 'ja ';
}
if (data[HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden][i] == 'nee'){
dinkResultField = dinkResultField + 'nee ';
}
}
dinkResultField = dinkResultField + '<br>';
}
}
if (data[ZoJaVoorWelkBedragAantalDebiteuren] != undefined){
if (data[ZoJaVoorWelkBedragAantalDebiteuren].length != 0){
dinkResultField = dinkResultField + 'Zo ja, voor welk bedrag + aantal debiteuren : ';
for (i = 0; i < data[ZoJaVoorWelkBedragAantalDebiteuren].length; i++) {
if (data[ZoJaVoorWelkBedragAantalDebiteuren][i] == 'jaar – 1€'){
dinkResultField = dinkResultField + 'jaar – 1 ';
}
if (data[ZoJaVoorWelkBedragAantalDebiteuren][i] == 'jaar – 2'){
dinkResultField = dinkResultField + 'jaar – 2 ';
}
if (data[ZoJaVoorWelkBedragAantalDebiteuren][i] == 'jaar – 3'){
dinkResultField = dinkResultField + 'jaar – 3 ';
}
}
dinkResultField = dinkResultField + '<br>';
}
}
if (data[BeschrijvingVanDeManingsprocedure] == 'rekeningoverzichten '){
dinkResultField = dinkResultField + 'Beschrijving van de maningsprocedure: : rekeningoverzichten ' + '<br>';
}
if (data[BeschrijvingVanDeManingsprocedure] == 'telefonische maningen '){
dinkResultField = dinkResultField + 'Beschrijving van de maningsprocedure: : telefonische maningen ' + '<br>';
}
if (data[BeschrijvingVanDeManingsprocedure] == 'ingebrekestelling '){
dinkResultField = dinkResultField + 'Beschrijving van de maningsprocedure: : ingebrekestelling ' + '<br>';
}
data[testDim] = dinkResultField;
},
beforeSubmit : function(event, data, params) {
var FrequentieVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/FrequentieVanDeManingsprocedure';
var tijdstipVdagen = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen';
var tijdstipVdagen2 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen2';
var tijdstipVdagen3 = 'IbanDrive/Newcollection/eurosymbol/tijdstipVdagen3';
var HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden = 'IbanDrive/Newcollection/eurosymbol/HeeftUDeLaatsteDrieJaarDebiteurenverliezenGeleden';
var empty = 'IbanDrive/Newcollection/eurosymbol/empty';
var empty2 = 'IbanDrive/Newcollection/eurosymbol/empty2';
var empty3 = 'IbanDrive/Newcollection/eurosymbol/empty3';
var debiteuren = 'IbanDrive/Newcollection/eurosymbol/debiteuren';
var debiteuren2 = 'IbanDrive/Newcollection/eurosymbol/debiteuren2';
var debiteuren3 = 'IbanDrive/Newcollection/eurosymbol/debiteuren3';
var BeschrijvingVanDeManingsprocedure = 'IbanDrive/Newcollection/eurosymbol/BeschrijvingVanDeManingsprocedure';
var ZoJaVoorWelkBedragAantalDebiteuren = 'IbanDrive/Newcollection/eurosymbol/ZoJaVoorWelkBedragAantalDebiteuren';
var testDim = 'IbanDrive/Newcollection/eurosymbol/testDim';
}
});
}, 1300);
});
答案 0 :(得分:1)
您需要使用DOM使浏览器呈现HTML,然后提取生成的纯文本。为此,您可以使用Strip HTML from Text JavaScript中解释的技术。基本上,您将HTML字符串注入假节点并从元素的HTML中调用textContent或innerText
(较旧的Internet Explorer)。
不过,要注意空白,重音,大小写等方面的差异。
我不会说你的语言(荷兰语?)但你自己明确地生成了HTML:
dinkResultField = dinkResultField + 'Frequentie van de maningsprocedure:: wekelijks' + '<br>';
您的代码基本上构建了一个长HTML字符串。最有可能的是,你试图在稍后阶段解析它。只需以方便的格式存储数据。而不是:
var amount = "Total: 1234 €";
......这样做:
var display = "Total: 1234 €";
var amount = 1234;
答案 1 :(得分:0)
€
之类的符号是字符的HTML转义符,不应该在JavaScript中有效。使用字符本身,如data[name] == '1222 €'
中所示,并确保已正确声明JavaScript文件的字符编码。实现此目的的一种简单方法是使用编辑器编写文件,该编辑器允许您将其以带有BOM 的UTF-8格式保存(因为BOM,字节顺序标记,用作字符编码的指示)。
如果出于某种奇怪的原因这是不可能的,请使用JavaScript escape,例如如在
data[name] == '1222 \u20AC'