我有一個陣列,我想用 if 塊檢查其中的資料,并標記它是否存在于陣列中。
doc.setFontSize(9);
doc.text("A??klama",6,57);
doc.text("Hastaya Yap?lan Uygulama :",6,64);
doc.text("Kullan?lan ?la?lar",6,69);
var explanation_application = document.getElementById("explanation_application").value;
textlines = doc.setFontSize(9).splitTextToSize(explanation_application,90);
doc.text(textlines,48,57).value;
doc.setFontSize(8);
doc.text("?zolasyon Durumu:",136,66);
doc.setFontSize(8);
doc.text("Solunum ?zolasyonu",163,60);
var checkBox = new jspdf.AcroFormCheckBox();
var checkBoxTxt = document.getElementById("txt").value;
var splitTxt = checkBoxTxt.split(",");
for (let i = 0; i < splitTxt.length; i ){
// for (var state in splitTxt){
if(splitTxt[i] == 'solunum_izolasyonu') {
checkBox.appearanceState = 'On';
}
else {
checkBox.appearanceState = 'Off';
}
}
checkBox.readOnly = false;
checkBox.fieldName = "Solunum ?zolasyonu";
checkBox.Rect = [191, 58, 2, 2];
checkBox.value = 'solunum_izolasyonu';
doc.addField(checkBox);
doc.setFontSize(8);
doc.text("Damlac?k ?zolasyonu",163,66);
var checkBox1 = new jspdf.AcroFormCheckBox();
var checkBoxTxt1 = document.getElementById("txt").value;
var splitTxt1 = checkBoxTxt1.split(",");
for (let i = 0; i < splitTxt1.length; i ){
// for (var state in splitTxt){
if(splitTxt1[i] == 'damlacik_izolasyonu') {
checkBox1.appearanceState = 'On';
}
else {
checkBox1.appearanceState = 'Off';
}
}
checkBox1.readOnly = false;
checkBox1.fieldName = "Damlac?k ?zolasyonu";
checkBox1.Rect = [191, 64, 2, 2];
checkBox.value = 'damlacik_izolasyonu';
doc.addField(checkBox1);
doc.setFontSize(8);
doc.text("Temas ?zolasyonu",163,72);
var checkBox2 = new jspdf.AcroFormCheckBox();
var checkBoxTxt2 = document.getElementById("txt").value;
var splitTxt2 = checkBoxTxt2.split(",");
for (let i = 0; i< splitTxt2.length; i ){
// for (var state in splitTxt){
if(splitTxt2[i] == 'temas_izolasyonu') {
checkBox2.appearanceState = 'On';
}
else {
checkBox2.appearanceState = 'Off';
}
}
checkBox2.readOnly = false;
checkBox2.fieldName = "Temas ?zolasyonu";
checkBox2.Rect = [191, 70, 2, 2];
checkBox.value = 'temas_izolasyonu';
doc.addField(checkBox2);
當我像上面那樣運行我的代碼時,即使陣列中有 2 個資料,也只有 1 個被標記。我是這個欄位的新手,我想要在這里做的是提取表單上標記的復選框的 id并將其顯示在pdf上。在這里,我正在使用 jsPdf 模塊執行此程序,但是在達到此階段后,我的標記點出現了問題,如果您能提供幫助,我會很高興。
uj5u.com熱心網友回復:
您正在遍歷陣列并在它有值時將其重置。為了使您的代碼正常作業,它需要看起來像
let hasText = false;
for (let i = 0; i< splitTxt2.length; i ){
if(splitTxt2[i] == 'temas_izolasyonu') {
hasText = true;
// have a match, no need to keep looping so exit
break;
}
}
checkBox.appearanceState = hasText ? 'On' : 'Off';
最干凈的解決方案包括
const hasText = splitTxt2.includes('solunum_izolasyonu');
checkBox.appearanceState = hasText ? 'On' : 'Off';
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/512585.html
上一篇:Link組件內的NextJS按鈕
