Ich habe eine Auswahlliste, die mit den Werten aus einem Textfeld gefüllt wird. Ich habe auch zwei Schaltflächen: eine Schaltfläche zum Hinzufügen, die den eingegebenen Wert zur Auswahlliste hinzufügt, und eine Schaltfläche zum Entfernen, die den eingegebenen Wert aus der Auswahlliste entfernt. Ich möchte Folgendes mit jQuery tun:
- Wenn der in das Textfeld eingegebene Wert NICHT VERFÜGBAR in der Auswahlliste die Schaltfläche Hinzufügen einblenden und die Schaltfläche Entfernen ausblenden.
- Wenn der in das Textfeld eingegebene Wert VERFÜGBAR in der Auswahlliste, blenden Sie die Schaltfläche Hinzufügen aus und zeigen Sie die Schaltfläche Entfernen an.
- Wenn die Auswahlliste LEER die Schaltfläche "Hinzufügen" anzeigen und die Schaltfläche "Entfernen" ausblenden.
Hier ist ein Code, den ich mir ausgedacht habe:
// Remove selected options
$('#removeButton').click(function() {
//$.map($('#addedchargeamtid :selected'), function(e) {
$.map($('#addedchargeamtid option'), function(e) {
var exp = $(e).text();
// Would like to have all the Option values in CVS format 0.00,1.99, etc...
// If removed this should also remove the value in the array
})
$('#removeButton').hide();
return !$('#addedchargeamtid :selected').remove();
});
// Add charge amount
$('#addedchargeamtid option:selected').focus(function() {
$('#removeButton').show();
});
Die Schaltfläche zum Entfernen wird angezeigt, wenn ich den ersten Wert hinzufüge, aber wenn ich den Wert entferne, wird die Schaltfläche nicht wieder angezeigt.
UPDATE:
Okay, ich habe es jetzt so geändert.
$('#removeButton').click(function() {
$('#addedchargeamtid :selected').remove();
$.map($('#addedchargeamtid option'), function(e) {
var exp = $(e).text();
alert(exp); // Need this in CSV format but I think it displays the correct values
})
//if($("#addedchargeamtid option").length > 0) { <-- Didn't work
if($("#addedchargeamtid").length > 0) {
$('#removeButton').show();
} else {
$('#removeButton').hide();
}
});
die Schaltfläche wird immer noch nicht ausgeblendet, wenn kein Wert in SELECT enthalten ist. Ich habe es auch mit der Option probiert.