Ergebnis 1 bis 7 von 7

Thema: ID eine Input-Feldes ändern

  1. #1
    Neuer Benutzer
    Registriert seit
    17.12.2017
    Beiträge
    4

    ID eine Input-Feldes ändern

    Hallo,
    mein Problem ist sicher einfach für viele hier. Bin jQuery-Anfänger und habe schon viele Hilfen gelesen, aber die Lösung meines Problems erschließt sich mir einfach nicht.

    HTML-Code (Auszug):

    HTML-Code:
    ... mehrere Tabellenzeilen
    <tr class="repeatable-field _tour_days" style="border-top:1px solid #eeeeee;">
     <th style="width:25%"></th>
     <td>
      <div style="float:left;width:40%;margin-right:20px;">
       <div class="themex_option date  ">
        <input type="text" id="_tour_days[6]" name="_tour_days[6]" class="datepicker hasDatepicker" value="08/12/2017">
       </div>
       <div class="clear"></div>
      </div>
      <div style="float:left;width:40%;margin-right:20px;">
       <div class="themex_option text  ">
        <input type="text" id="_tour_days[7]" name="_tour_days[7]" value="7">
       </div>
       <div class="clear"></div>
      </div>
      <a style="float:left;margin-left:1px;" class="repeatable-remove button" href="#">Remove</a>
     </td>
    </tr>
    <tr class="repeatable-field _tour_days" style="border-top:1px solid #eeeeee;">
     <th style="width:25%"></th>
     <td>
      <div style="float:left;width:40%;margin-right:20px;">
       <div class="themex_option date  ">
        <input type="text" id="_tour_days[8]" name="_tour_days[8]" class="datepicker hasDatepicker" value="08/12/2017">
       </div>
       <div class="clear"></div>
      </div>
      <div style="float:left;width:40%;margin-right:20px;">
       <div class="themex_option text  ">
        <input type="text" id="_tour_days[9]" name="_tour_days[9]" value="9">
       </div>
       <div class="clear"></div>
      </div>
      <a style="float:left;margin-left:1px;" class="repeatable-remove button" href="#">Remove</a>
     </td>
    </tr>
    ... mehrere Tabellenzeilen
    Mein Problem ist, wenn jemand auf das Remove-Button klickt, sollen die IDs und Namen aller Input-Felder aller folgenden Tabellen-Zeilen geändert werden. Der name und ID sind in jeder Zeile unterschiedlich.

    Ich schaffe es, die folgenden Tabellen-Zeilen zu markieren. Aber auf die Imput-Felder bekomme ich einfach keinen Zugriff. Hier fehlt mir irgendwie der passende Befehl oder Syntax.

    Mein bisheriger jQuery-Code lautet:

    Code:
    jQuery('.repeatable-remove').click(function(){
     if(jQuery('.repeatable-field').next("tr._tour_days").length>1) {
        //alert("22222");
       jQuery(this).parent().parent().nextAll("tr._tour_days").addClass("important blue");
       jQuery(this).parent().parent().nextAll("tr._tour_days").css({"border": "2px solid red"});
       jQuery(this).parent().parent().nextAll("tr._tour_days").attr('name', 'xxxx' );
      };
      
      alert("444444");
      return false;
    });
    Danke im Voraus
    Brian

  2. #2
    Erfahrener Benutzer
    Registriert seit
    09.12.2014
    Beiträge
    559
    moin

    wenn ich dich richtig verstehe willst du auf die TRs deinen code anwenden und ausserdem in den TRs die inputs finden und komische dinge mit ihnen machen ?

    Code:
    jQuery('.repeatable-remove').click(function(){
    	var table = jQuery(this).closest('table'); //die gesammte tabelle;
    	var trs = table.find("tr._tour_days"); //die TRs
    	
    	//loop durch alle TRs
    	trs.each(function(){
    		var tr = jQuery(this); //das aktuelle tr in der schleife
    		tr.addClass("important blue")
    		  .css({"border": "2px solid red"})
    		  .attr('name', 'xxxx' );
    		
    		var input = tr.find('input'); //das input im TR viel spass damit :) 
    	});
    	
    	alert("444444");
    	return false;
    });

    ungetestet sollte aber gehen

  3. #3
    Neuer Benutzer
    Registriert seit
    17.12.2017
    Beiträge
    4
    Hallo Troll,
    Deine Ausführung (besonders die Infos) war mir eine große Hilfe. Als jQuery-Anfänger war mir die Notation von Funktionen und die Verwendunf von "this" noch nicht wirklich klar.

    Ich gestehe, dass meine Beschreibung sicher alles andere wie klar war. Aber gestern Abend hat es nicht zu mehr gereicht.

    Mit deiner Hilfe habe ich nur folgenden Code erstellt. Dieser ist sich nicht optimal, erfüllt aber den Zweck:

    Code:
     
    // Hiermit werden durch Drücken des Remove-Buttons die entsprechenden Felder entfernt.
    // Bei den Datumsfeldern muss das Value "name" geändert werden, damit die Speicherung erfolgreich ist! 
    jQuery('.repeatable-remove').click(function(){
     // Nur wenn weitere Tabellenzeilen vorhanden sind, wird hier reingegangen
     if(jQuery('.repeatable-field').next("tr._tour_days").length>1) {
      // hier werden alle weiteren Zeilen mit der Class "changeid" markiert
      jQuery(this).parent().parent().nextAll("tr._tour_days").addClass("changeid");
      // Für jedes gefundene Input-Feld wird eine Funktion aufgerufen!
      $("tr.changeid td div div.themex_option input").each(function(){
       // Das Attribut "name" wird ausgelesen, geändert und ausgetauscht!
       $(this).attr('name', $(this).attr('name').replace(/(\d+)/, function(fullMatch, n) {
        return Number(n) - 2; 
       })
      );
     });
     // Zum Schluss wird noch die Markierung "changeid" entfernt
     jQuery(this).parent().parent().nextAll("tr._tour_days").removeClass("changeid"); 
    };
    // Sofern es sich nicht um die letzte Zeile handelt, wird diese entfernt!
     if(jQuery('.repeatable-field').length>1) {
      jQuery(this).parent().parent().remove();
     }
    return false;
    });
    Danke noch einmal und Allen eine schöne Weihnachtszeit.
    Brian

  4. #4
    Neuer Benutzer
    Registriert seit
    17.12.2017
    Beiträge
    4
    Hallo Troll,
    Deine Ausführung (besonders die Infos) war mir eine große Hilfe. Als jQuery-Anfänger war mir die Notation von Funktionen und die Verwendunf von "this" noch nicht wirklich klar.

    Ich gestehe, dass meine Beschreibung sicher alles andere wie klar war. Aber gestern Abend hat es nicht zu mehr gereicht.

    Mit deiner Hilfe habe ich nur folgenden Code erstellt. Dieser ist sich nicht optimal, erfüllt aber den Zweck:

    Code:
     
    // Hiermit werden durch Drücken des Remove-Buttons die entsprechenden Felder entfernt.
    // Bei den Datumsfeldern muss das Value "name" geändert werden, damit die Speicherung erfolgreich ist! 
    jQuery('.repeatable-remove').click(function(){
     // Nur wenn weitere Tabellenzeilen vorhanden sind, wird hier reingegangen
     if(jQuery('.repeatable-field').next("tr._tour_days").length>1) {
      // hier werden alle weiteren Zeilen mit der Class "changeid" markiert
      jQuery(this).parent().parent().nextAll("tr._tour_days").addClass("changeid");
      // Für jedes gefundene Input-Feld wird eine Funktion aufgerufen!
      $("tr.changeid td div div.themex_option input").each(function(){
       // Das Attribut "name" wird ausgelesen, geändert und ausgetauscht!
       $(this).attr('name', $(this).attr('name').replace(/(\d+)/, function(fullMatch, n) {
        return Number(n) - 2; 
       })
      );
     });
     // Zum Schluss wird noch die Markierung "changeid" entfernt
     jQuery(this).parent().parent().nextAll("tr._tour_days").removeClass("changeid"); 
    };
    // Sofern es sich nicht um die letzte Zeile handelt, wird diese entfernt!
     if(jQuery('.repeatable-field').length>1) {
      jQuery(this).parent().parent().remove();
     }
    return false;
    });
    Danke noch einmal und Allen eine schöne Weihnachtszeit.
    Brian

  5. #5
    Neuer Benutzer
    Registriert seit
    17.12.2017
    Beiträge
    4
    Dank dir Troll,
    deine Hilfe hat mir sehr geholfen.

    Ich habe das Problem nun wie folgt gelöst. Ist sicher nicht das eleganteste, aber es funktioniert ;-)

    Code:
     // Hiermit werden durch Drücken des Remove-Buttons die entsprechenden Felder entfernt.
     // Bei den Datumsfeldern muss das Value "name" geändert werden, damit die Speicherung erfolgreich ist! 
    	jQuery('.repeatable-remove').click(function(){
      // Nur wenn weitere Tabellenzeilen vorhanden sind, wird hier reingegangen
    		if(jQuery('.repeatable-field').next("tr._tour_days").length>1) {
        // hier werden alle weiteren Zeilen mit der Class "changeid" markiert
        jQuery(this).parent().parent().nextAll("tr._tour_days").addClass("changeid");
        // Für jedes gefundene Input-Feld wird eine Funktion aufgerufen!
        $("tr.changeid td div div.themex_option input").each(function(){
         // Das Attribut "name" wird ausgelesen, geändert und ausgetauscht!
         $(this).attr('name', $(this).attr('name').replace(/(\d+)/, function(fullMatch, n) {
    					     return Number(n) - 2; 
    				      })
    			  );
        });
        // Zum Schluss wird noch die Markierung "changeid" entfernt
        jQuery(this).parent().parent().nextAll("tr._tour_days").removeClass("changeid"); 
    		};
      // Sofern es sich nicht um die letzte Zeile handelt, wird diese entfernt!
    		if(jQuery('.repeatable-field').length>1) {
    		 jQuery(this).parent().parent().remove();
    		}
    		return false;
    	});

  6. #6
    Neuer Benutzer
    Registriert seit
    15.07.2018
    Beiträge
    3
    Zitat Zitat von brian Beitrag anzeigen
    Dank dir Troll, deine Hilfe hat mir sehr geholfen. Ich habe das Problem nun wie folgt gel&#246;st. Ist sicher nicht das eleganteste, aber es funktioniert ;-)
    Code:
     // Hiermit werden durch Dr&#252;cken des Remove-Buttons die entsprechenden Felder entfernt. // Bei den Datumsfeldern muss das Value &quot;name&quot; ge&#228;ndert werden, damit die Speicherung erfolgreich ist! jQuery('.repeatable-remove').click(function(){ // Nur wenn weitere Tabellenzeilen vorhanden sind, wird hier reingegangen if(jQuery('.repeatable-field').next(&quot;tr._tour_days&quot;).length&gt;1) { // hier werden alle weiteren Zeilen mit der Class &quot;changeid&quot; markiert jQuery(this).parent().parent().nextAll(&quot;tr._tour_days&quot;).addClass(&quot;changeid&quot;); // F&#252;r jedes gefundene Input-Feld wird eine Funktion aufgerufen! $(&quot;tr.changeid td div div.themex_option input&quot;).each(function(){ // Das Attribut &quot;name&quot; wird ausgelesen, ge&#228;ndert und ausgetauscht! $(this).attr('name', $(this).attr('name').replace(/(\d+)/, function(fullMatch, n) { return Number(n) - 2; }) ); }); // Zum Schluss wird noch die Markierung &quot;changeid&quot; entfernt jQuery(this).parent().parent().nextAll(&quot;tr._tour_days&quot;).removeClass(&quot;changeid&quot;); }; // Sofern es sich nicht um die letzte Zeile handelt, wird diese entfernt! if(jQuery('.repeatable-field').length&gt;1) { jQuery(this).parent().parent().remove(); } return false; });
    gunny sever

  7. #7
    Neuer Benutzer
    Registriert seit
    18.08.2019
    Ort
    Honduras
    Beiträge
    8

    ID eine Input Feldes ändern

    Hallo Forum,

    ich möchte gern im Browser eine Anwendung .exe starten. Das ich das Mailprogramm über einen mailto Verweiß starten kann weiß ich natürlich. Auch das ein Druckautrag über einen Verweiß zu realisieren ist, ist mir geläufig. Aber wie kann man über einen Verweiß ein z. B. FTP-Client starten? Kann mir da einer einen Tip geben. Ich habe folgendes versucht.
    PHP-Code:

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •