php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2010, 14:40  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard jQuery ":not" selektor

Es gibt bei jQuery ja den sogenannten :not Selektor (http://api.jquery.com/not-selector/)
Und als Anmerkung steht dann da, dass es in den meisten Fällen besser ist, direkt .not()-Funktion zu nutzen.
Zitat:
Additional Notes The .not() method will end up providing you with more readable selections than pushing complex selectors or variables into a :not() selector filter. In most cases, it is a better choice.
Wenn ich das richtig deute, heißt es da, dass man in den meisten Fällen lieber direkt die Funktion nehmen sollte.

Das Lustige ist, dass wenn ich die .not() Funktion nehme ich andere Ergebnisse bekomme, hier ein kleiner Codeauschnitt
Code:
/*
jQuery Version: v1.3.2
*/

/* selName something like "selectXXX[]" */
$('select[name="' + selName + '"][value="-1"]:not(:last)').remove();

/* not correct working */
$('select[name="' + selName + '"][value="-1"]').not(':last').remove();
Hat jemand eine warum das nicht funktioniert?
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.12.2010, 14:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Welche Du bekommst, wäre interessant gewesen.

Und was der Selektor woraus eigentlich auswählen soll.
__________________
--
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 offline   Mit Zitat antworten
Alt 01.12.2010, 15:04  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Hmm ich habe gehooft nicht so weit ausholen zu müssen... aber ohne richtigen Bsp. Code wird des wohl nichts...

jQuery Code:
Code:
$(document).ready(function() {
        $('.mySelect').live('change', function(){
            var selName = $(this).attr('name');
            var parentItem = $(this).parent();
            var htmlOptions = $(this).html();

            $('select[name="' + selName + '"][value="-1"]:not(:last)').remove();
            parentItem.append(
                $('<select>')
                    .addClass('mySelect')
                    .attr('name', selName)
                    .html(htmlOptions)
            );
        });
    });
Hier das Html (vereinfacht):
Code:
<table width="60%">
    <tbody>
        <tr>
            <td valign="top" style="padding-bottom: 10px;" class="formHead">
                label #1:
            </td>
            <td style="padding-left: 9px; width: 300px; padding-bottom: 14px;">
                <select class="mySelect" name="selectNo1[]">
                    <option value="-1">- leer -</option>
                    <option value="0">option 0</option>
                    <option value="1">option 1</option>
                    <option value="2">option 2</option>
                </select>
            </td>
        </tr>
        <tr>
            <td valign="top" style="padding-bottom: 10px;" class="formHead">
            label #2:
            </td>
            <td style="padding-left: 9px; width: 300px; padding-bottom: 14px;">
                <select class="mySelect" name="selectNo2[]">
                    <option value="-1">- leer -</option>
                    <option value="0">option 0</option>
                    <option value="1">option 1</option>
                    <option value="2">option 2</option>
                </select>
            </td>
        </tr>
    </tbody>
</table>
Im Prinzip soll folgendes passieren:
In dem Moment, in dem ich eine Selectbox auswähle und ein Wert gesetzt ist, soll die gleiche SelectBox darunter nochmals angelegt werden.
Außerdem soll bei jedem Block immer genau eine leere(nicht selektierte) Dropdown Box sein.
Hoffe ihr konntet mir folgen
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 01.12.2010, 15:11  
Erfahrener Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 146
PHP-Kenntnisse:
Fortgeschritten
jabubo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nur eine Vermutung:
Ich denke, dass :not() sich nur auf den direkt davor stehenden Selektor bezieht. .not() hingegen aber auf das Ergebnis der Auswahl. Dadurch kann es logischerweise schon zu unterschieden kommen.
__________________
PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...
jabubo ist offline   Mit Zitat antworten
Alt 01.12.2010, 15:13  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Ja sowas denke ich auch, aber leider kann ich absolut nichts in der Doku finden. ich sehe auch keinen wirklichen Fehler in dem bischen Code...
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 01.12.2010, 15:16  
Erfahrener Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 146
PHP-Kenntnisse:
Fortgeschritten
jabubo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was in meinen Augen problematisch ist: select[name="..."] ist noch in Ordnung, aber [value...] greift ja schon auf option zurück. Vermutlich kommt es daher.
Der Selektor ist sicherlich nicht falsch, aber ich find ihn etwas unsauber.
__________________
PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...
jabubo ist offline   Mit Zitat antworten
Alt 01.12.2010, 16:19  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Unsauber? Hmm ich weiß nicht, sicher bin ich mir da nicht, da in jQuery im prinzip das selbe geschieht ob ich jetzt nach "name" oder "value" suche. Tag suchen, der dem gesuchten entspricht und den Value ansprechen...
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 01.12.2010, 16:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Zitat:
Im Prinzip soll folgendes passieren:
In dem Moment, in dem ich eine Selectbox auswähle und ein Wert gesetzt ist, soll die gleiche SelectBox darunter nochmals angelegt werden.
Außerdem soll bei jedem Block immer genau eine leere(nicht selektierte) Dropdown Box sein.
Hoffe ihr konntet mir folgen
So richtig verstehe ichs immer noch nicht. Kann es sein, dass Du für Deine Datensätze (tr) ein Select brauchst, aber immer nur eines anzeigen willst? Die Selektororgie

$('select[name="' + selName + '"][value="-1"]:not(:last)').remove();

scheint mir auf jeden Fall umständlich, wenn nicht falsch. Warum benutzt Du icht eine einfach Bedingung?

Code:
change (function () {
  if ($(this).val() != -1) {
  }
})
__________________
--
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 offline   Mit Zitat antworten
Alt 01.12.2010, 17:34  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Der Selektor ist auf jeden Fall ein dickes Performance-Aua. $(this) solltest du cachen. Hast du das mal mit jQuery 1.4.4 ausprobiert? Statt live könntest du auch mit clone(true) arbeiten, wäre auch effizienter.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 02.12.2010, 08:59  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Code:
change (function () {
  if ($(this).val() != -1) {
  }
})
Das reicht nicht aus, weil ich viele mehrere SelectBoxen habe und eben über den Namen unterscheiden muss. Deswegen auch "selectName[]". Wieso Performance-Aua, ist doch eh nur Clientseitig

Leider krieg ich das mit 1.4.4 nicht getestet, da die Seite, auf der das läuft unter 1.4.4 absolut nicht auf zu rufen ist. Ich müsste höchstens mal ne Dummy Seite zusammen hauen... hmm vielleicht mach ich das mal heute abend.
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko 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
jQuery - Text an Cursorposition einfügen Koala JavaScript, Ajax und mehr 5 11.11.2010 21:28
Bin noch ein Anfänger mit jquery bitte um hilfe bomber007 JavaScript, Ajax und mehr 4 19.08.2010 23:34
[Erledigt] jQuery Slider - In eine Richtung sperren Trainmaster JavaScript, Ajax und mehr 2 08.08.2010 16:06
[Erledigt] Statistik mit jQuery DJ_RhoxxZ JavaScript, Ajax und mehr 6 25.07.2010 17:47
jquery: dialogbox funktioniert nicht Dreamwatcher JavaScript, Ajax und mehr 16 22.07.2010 18:22
jQuery findet Element nicht ByStones JavaScript, Ajax und mehr 8 11.06.2010 14:03
jQuery Plug scroll to - wie einbetten? mxxxx JavaScript, Ajax und mehr 5 24.04.2010 18:12
[Erledigt]br filtern mit Jquery (oder Javascript) chunky JavaScript, Ajax und mehr 4 05.03.2010 14:48
[Erledigt] Jquery Selektoren chunky JavaScript, Ajax und mehr 5 14.02.2010 11:14
jQuery Ablauf halskrause JavaScript, Ajax und mehr 8 24.11.2009 13:14
[Erledigt] [Erledigt] jQuery Endlos Scrolling Umlaute kn0wledge JavaScript, Ajax und mehr 0 18.10.2009 19:29
jQuery mit AJAX ohne ActiceX im IE? krush JavaScript, Ajax und mehr 2 11.08.2009 08:54
[Erledigt] jQuery Dateien nachladen Phoscur JavaScript, Ajax und mehr 7 14.03.2009 13:44
jQuery Plugin - so richtig? stayInside JavaScript, Ajax und mehr 5 23.02.2009 12:34
For Schleife mit jQuery phpbeginner JavaScript, Ajax und mehr 3 22.11.2008 22:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jquery not, jquery :not, jquery not selector, not jquery, jquery .not, jquery :not(\'\'), jquery not(), :not jquery, jquery and bedingung selector, :not() jquery, jquery not and not, http://www.php.de/javascript-ajax-und-mehr/74592-jquery-not-selektor.html, selector für alle anderen jquery, 3 dropdown box aber nur eine ansprechen mit jquery, jquery suche nache name und value, jquery .not beispiel, php not beispiele, jquery bedingung oder, jquery :not beispiele, jquery not selektor

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15 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