php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.01.2012, 00:37  
Benutzer
 
Registriert seit: 22.04.2011
Beiträge: 59
PHP-Kenntnisse:
Anfänger
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Javascript Multiple Listbox --> Option Eintrag aus Hidden-Field entfernen

Hallo, nach dem ich hier seit längerem und auch auf gefühlten 2000 anderen Seiten eine Lösung für mein Problem gesucht habe und nicht gefunden habe, bin ich zu dem Entschluss gekommen dies hier nochmal zu posten.

Ich habe schon hier http://www.php.de/php-einsteiger/869...mittelt-2.html ([Erledigt] Array wird nicht bei multiple Formularabfrage an PHP übermittelt) nach Lösungen etc. gefragt jedoch ohne Erfolg.

Ich möchte mich bei demjenigen mit 5,00€ bedanken der mich zur Lösung bringt und mir diese Schritte nochmal ausführlich erklärt damit ich auch was lerne und nicht nur den Code hingeworfen bekomme. Ich denke 5,00€ sind fair, da dies für die meisten Kinderkram ist und glaube nur paar Minuten dauert.
Leider kann ich nicht mehr anbieten. Ich hoffe das sich trotzdem jemand nettes findet.

Denn nach ca. 4 bis 5 Tagen Dauersuche habe ich einfach keinen klaren Kopf mehr.

Ich hoffe es ist in Ordnung das ich hier einen neuen Thread aufmache da ich ja diesmal dafür Geld bezahlen möchte. Ansonsten bitte bestenfalls den anderen Thread löschen.


Ich habe eine multiple listbox1 mit der ich Daten aus der Datenbank dem User anzeige und er kann sich verschiedene Inhalte aussuchen.
Mit klick werden diese in Listbox2 verschoben.
Da die Inhalte unmarkiert sind muss ich diese erst in einem anderen Feld eintragen, damit diese dann an PHP verschickt werden können.

Dafür habe ich eine dritte Selectbox genommen. Derzeit habe ich es so gemacht, das der ausgewählte inhalt in die Selectbox3 (Hidden) übertragen wird und die Inhalte selected sind. Somit kann ich diese auch gleich wieder in einem Array in PHP ausgeben.
Jedoch steh ich vor folgendem Problem.

Wenn ein User jetzt einen Inhalt auf Listbox2 wieder entfernen möchte, wird der Inhalt nicht aus Listbox3 entfernt und somit unkorrekte Daten an PHP verschickt.

Wie kann ich das in meinem Skript am besten meistern?
Leider sind meine Javascriptkentnisse sehr gering so das ich selber keine Lösung gefunden habe. Ich konnte nur ausprobieren aber nicht verstehen.
Derzeit wird lediglich der gesamte Inhalt, der mit Selected markiert ist, aus Box3 entfernt.
Es soll aber einzeln gehen mit der korrekten Auswahl von Box2.

Hier der Code dazu:

Javascript

Code:
 <script>
                $(document).ready(function() {

                    $('#btn-add').click(function(){
                        $('#select-from option:selected').each( function() {
                                var option = "<option value='"+$(this).val()+"'>"+$(this).text()+"</option>";
                                var option_hidden = "<option selected = selected value='"+$(this).val()+"'>"+$(this).text()+" </option>";
                                $('#select-to').append(option);
                                $('#select-hidden').append(option_hidden);
                                $(this).remove();



                        });
                    });
                    $('#btn-remove').click(function(){
                        $('#select-to option:selected').each( function() {
                            var option = "<option value='"+$(this).val()+"'>"+$(this).text()+"</option>";
                            $('#select-from').append(option);

                            $(this).remove();


                        });
                    });

                    //--> Hier wird die Hidden-Selectbox gelöscht bzw. ein Eintrag wenn der doch nicht mehr ausgewählt wird

                    $('#btn-remove').click(function(){

                        $('#select-hidden option:selected').each( function() {
                            $(this).remove();

                        });
                    });

                });

            </script>
functions.php

PHP-Code:

function release_genre_list(){

            
$sql1 "SELECT id, genre
                    FROM genre
                    ORDER BY genre ASC
                    "
;

            
$sql2 mysql_query($sql1);
            while(
$inhalt mysql_fetch_array ($sql2)){

                
$genre $inhalt['genre'];
                
$genre_id $inhalt['id'];

                echo
"<option value='".$genre."'>";
                    echo 
$genre;
                echo 
"</option>";
            }

        } 
Der HTML-Teil
Code:
<fieldset>

                                    <select name="select-from[]" id="select-from" multiple="multiple" size="5" style="height:200px;width:200px;">
                                        <?php
                                            $function_genre = release_genre_list();
                                            echo $function_genre;
                                        ?>
                                    </select>

                                    <a href="javascript:void(0);" id="btn-add">setzen &raquo;</a>
                                    <a href="javascript:void(0);" id="btn-remove">&laquo; entfernen</a>

                                    <select name="select-to[]" id="select-to" multiple="multiple" size="5" style="height:200px;width:200px;">

                                    </select>
                                    <select name="select-hidden[]" id="select-hidden" multiple="multiple" size="5" style="height:200px;width:200px;">
                                    </select>
                                   <!--  <input type="hidden" id="genre_hidden" name="genre_hidden" value="" />  -->

                                </fieldset>

Zum Test habe ich z.B. Hidden-Field noch als Text-Field etc., damit sich nicht gewundert wird.

BEISPIEL DER LISTBOX: http://www.meadmiracle.com/dlb/DLBPlugin.aspx

Ich freue mich über eure Antworten.

Viele Grüße

Geändert von ProCoder2025 (10.01.2012 um 12:08 Uhr).
ProCoder2025 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.01.2012, 00:44  
Erfahrener Benutzer
 
Registriert seit: 10.11.2011
Beiträge: 268
PHP-Kenntnisse:
Fortgeschritten
Solu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde das mit AJAX/Sessions lösen. Aufjedenfall gut machbar...
Solu ist offline   Mit Zitat antworten
Alt 10.01.2012, 00:52  
Benutzer
 
Registriert seit: 22.04.2011
Beiträge: 59
PHP-Kenntnisse:
Anfänger
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Danke, habe dir eine PN geschrieben...
ProCoder2025 ist offline   Mit Zitat antworten
Alt 10.01.2012, 11:48  
Benutzer
 
Registriert seit: 22.04.2011
Beiträge: 59
PHP-Kenntnisse:
Anfänger
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Es besteht noch keine Lösung.
Um Missverständnisse zu vermeiden, die Listboxen existieren schon, auch das verschieben funktioniert. Ich benötige allein die Hilfe dass der ausgewählte Inhalt von Listbox2 der wieder entfernt wird auch aus mein Hiddenfield verschwindet. Ich weiß nicht wie ich die Variable so fülle das sie den angeklickten Wert enthält.

Die Bearbeitung in PHP etc. besteht bereits, es ist nur der eine kleine Punkt der fehlt.
ProCoder2025 ist offline   Mit Zitat antworten
Alt 10.01.2012, 12:27  
Neuer Benutzer
 
Registriert seit: 10.01.2012
Beiträge: 1
PHP-Kenntnisse:
Fortgeschritten
webdev befindet sich auf einem aufstrebenden Ast
Standard

versuchs doch ohne hidden field.

1. select in ein form tag schreiben
2. vor dem submit alles auswählen

Code:
$('#form_id').submit(function(){
 
 $('#select_id option').each(function(){
  $(this).attr('selected', 'selected');
 });

 return true;
});
ps: code ist ungetestet!
pps: die 5 € sind geschenkt
webdev ist offline   Mit Zitat antworten
Alt 10.01.2012, 12:41  
Benutzer
 
Registriert seit: 22.04.2011
Beiträge: 59
PHP-Kenntnisse:
Anfänger
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Hey webdev,

erstmal vielen dank für die Antwort. Das ist ja so ein geiler simpler Ansatz ^^. Skript funktioniert zwar noch nicht, wird wohl noch nicht selektiert aber jetzt habe ich wieder was nach dem ich Suchen kann. Ich bastel mal bissel rum .

Besten dank für die Hilfe ^^.
Wenn ich es geschafft habe, gebe ich nochmal bescheid.

Viele Grüße aus Dresden
ProCoder2025 ist offline   Mit Zitat antworten
Alt 10.01.2012, 14:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.993
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Alternativ kannst Du das hidden-Field auch erst onSubmit aus der Zielliste zusammenstellen. Oder gleich den Submit über Ajax machen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 10.01.2012, 19:26  
Benutzer
 
Registriert seit: 22.04.2011
Beiträge: 59
PHP-Kenntnisse:
Anfänger
ProCoder2025 befindet sich auf einem aufstrebenden Ast
Standard

Ich habs endlich nach Stunden und Tagen geschafft.
Webdev danke nochmal für den Tipp.
Hätte es zwar auch über SESSIONS machen können wie Solu es mir wunderbar erklärt hat, aber so richtige wollte es nicht funktionieren.
Habe dann einfach alles markiert und alles bestens.
Hab das ganze dann mit onSubmit abgerufen wie nikosch vorgeschlagen hat.

Also komplette Team-Arbeit
Ich danke euch drei vielmals.

Und hier nochmal der Code für den Javascript-Teil für alle anderen.

Code:
function checkForm() {
            var selectto = document.release.elements('select-to[]');
                for (i=0; i<selectto.options.length; i++){
                        selectto.options[i].selected=true;

                }
                return(true)
            }
ProCoder2025 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sound per HDMI ausgeben [Debian Squeeze + onBoard ATI] dreamcatcher Off-Topic Diskussionen 0 30.05.2011 11:44
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript multiple, html listbox, multiple listbox javascript, javascript listbox string, javascript listbox einträge entfenen, javascript existiert eintrag listbox

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum