Hier ist das Szenario. Ich habe ein Formular, das ein Dropdown mit 4 Optionen enthält. Wenn eine bestimmte Option ausgewählt ist, muss ich ein HTML-Element neben der Beschriftung des Feldes einfügen. Grundsätzlich muss ich ein FontAwesome-Icon einfügen, das einen Tooltip anzeigt. Das Problem, das ich habe, ist, dass das FontAwesome-Symbol der Seite so oft hinzugefügt wird, wie eine der beiden Optionen ausgewählt ist. Wenn ich "C40" anwähle, wird ein Symbol hinzugefügt, wenn ich "C60" anwähle, wird ein anderes Symbol hinzugefügt, wenn ich "C60" anwähle, wird ein anderes Symbol hinzugefügt usw. Wie verhindere ich, dass die change() Funktion mehrere FontAwesome hinzufügt ? Symbole2 verschiedene Werte von Dropdown führen gleiche Funktion, aber muss nur einmal ausgeführt werden
resModel.on('change', function(e) {
if(resModel.val() == 'C40' || resModel.val() == 'C60') {
$('<i id="resC-control-box-tip" class="tooltip"></i>').insertAfter('#field_2_3 label.gfield_label > span.gfield_required');
$('<i id="resC-cell-tip" class="tooltip"></i>').insertAfter('#field_2_4 label.gfield_label > span.gfield_required');
// Control box tooltip
$('#resC-control-box-tip').qtip({
content: '<img class="avia_image " src="http://mywebsite.com/wp-content/uploads/2016/07/awesome-img.jpg" alt="" title="" itemprop="contentURL">',
position: {
my: 'left center',
at: 'right center',
target: $('#resC-control-box-tip')
},
style: {
classes: 'qtip-blue'
}
});
// Cell tooltip
$('#resC-cell-tip').qtip({
content: '<img class="avia_image " src="http://mywebsite.com/wp-content/uploads/2016/07/another-awesome-img.jpg" alt="Resilience C Cell Serial Number" title="" itemprop="contentURL">',
position: {
my: 'left center',
at: 'right center',
target: $('#resC-cell-tip')
},
style: {
classes: 'qtip-blue'
}
});
}else if(resModel.val() == 'D40' || resModel.val() == 'D60') {
$('<i id="resD-control-box-tip" class="tooltip"></i>').insertAfter('#field_2_38 label.gfield_label > span.gfield_required');
$('<i id="resD-cell-tip" class="tooltip"></i>').insertAfter('#field_2_39 label.gfield_label > span.gfield_required');
// Control box tooltip
$('#resD-control-box-tip').qtip({
content: '<img class="avia_image " src="http://mywebsite.com/wp-content/uploads/2015/05/img3.jpg" alt="" title="" itemprop="contentURL">',
position: {
my: 'left center',
at: 'right center',
target: $('#resD-control-box-tip')
},
style: {
classes: 'qtip-blue'
}
});
// Cell tooltip
$('#resD-cell-tip').qtip({
content: '<img class="avia_image " src="http://mywebsite.com/wp-content/uploads/2015/05/img3.jpg" alt="" title="" itemprop="contentURL">',
position: {
my: 'left center',
at: 'right center',
target: $('#resD-cell-tip')
},
style: {
classes: 'qtip-blue'
}
});
}
});
Können Sie bitte einen ausführbaren Code in Geige setzen und den Link teilen? –
Haben Sie erwogen, das Symbol im DOM zu haben, aber als Standard beim Laden der Seite ausgeblendet zu sein und es einfach anzuzeigen/auszublenden, basierend auf der Dropdown-Auswahl? –