Hidden Inputfeld selektieren

Wenn er alle Werte übergibt, muss er ja auch eine Information übergeben, welche selectiert sind und welche nicht. Die selectierten kannst du dann ja selbst rausfiltern.
 
Ich verstehe nicht ganz, warum das hier so gelöst wird. Ich persönlich würde dafür Auswahlflächen nehmen und diese entsprechend umgestalten. Das Problem daran könnte allerdings sein, dass das Aussehen darunter leidet. Ansonsten wird das Problem vermutlich dadurch gelöst, dass bei einem Klick auf das Listen-Element der Wert in dem versteckten Eingabefeld geändert wird, also entweder auf 0 oder 1. Wenn du dann das Formular abschickst, hast du auf dem Server dann eben die Werte 0 oder 1. Schau dir das mal hier an: http://jsfiddle.net/MeiKatz/GQE3e/

Nachtrag: Hier noch einmal in schön: http://jsfiddle.net/MeiKatz/GQE3e/1/
 
Zuletzt bearbeitet:
Hallo einfach nur crack,

danke für deinen tollen Ansatz. Er funktioniert, aber leider nicht mit meiner Voraussetzung :( .

Ich habe z.b. aus der Datenbank alle User ausgewählt und diese sind dann in folgendem Format ausgewählt:

PHP:
<?php
while ($row = mysql_fetch_array($result))
{
?>
    <li>        
        <strong><?php echo $row['username'];?></strong><br /> 
        <span class="fcbkitem_text"><?php echo $row['email'];?></span>
        <input type="hidden" name="fcbklist_value[]" value="<?php echo $row['userID'];?>" />       
    </li>

Somit hätte ich nach Submit die Daten an eine neue PHP übergeben dann per foreach die Daten in eine Datenbank geschrieben ala:

PHP:
	$array 	= $_REQUEST['fcbklist_value'];
	
	
		foreach ($array as $value)
			{	
mysql_query("INSERT INTO eventusers (userID, inviterID, eventID, status, time) VALUES ('".$value."', '".$uid."','".$eventid."', 0, '".strtotime(date("Y-m-d H:i:s"))."')") or die(mysql_error());
			}

Kurze Frage. Wäre es möglich per Click Event den Namen erst in fcbklist_value[] zu ändern und pro hidden feld die ID mit der userID vorzubelegen? Dürfte hinhauen. Werde es morgen testen. Wäre toll wenn mir jemand Feedback geben könnte. Nochmal danke für den Ansatz!!

Kurz Getestet, aber haut noch nicht ganz hin, die Selektion stimmt noch nicht, er alerted mir auch nix (zum testen).

PHP:
								<script>
									$(document).ready(function(){
										   $('ul.fcbklist > li').click(function () {
										   var id = $(this).attr('id');
										   alert (id);
										   $("#"+id).attr('name','fcbklist_value[]');	})	
										   
									});
								</script>

MfG Topol
 
Zuletzt bearbeitet:
Ich sehe den Nutzen nicht, denn dir ein nachträgliches Ändern des Feldnamen bringen sollte. Aber du kannst folgendes machen: lege bei jedem verstecktem Eingabefeld ein Attribut namens "data-default-value" an (oder wie du das eben gerne nennen magst), in dem die Nutzer-ID steht, und schreibe den Wert daraus in das Attribut "value", wenn dieses Feld aktiviert wird. Wenn es deaktiviert wird, änderst du den Wert von "value" auf "" (also eine leere Zeichenkette). Wenn du jetzt die Daten aus deinem Formular abschickst, erhältst du PHP-seitig ein Array in dem entweder für jedes Feld eine ID steht oder eine leere Zeichenkette. Wenn du jetzt auf dieses Array die Funktion array_filter() anwendest, hast du ein Array, in dem nur noch IDs stehen.
 
Der Nutzen wäre, dass ich im Array immer nur die selektierten Werte hätte.

Aber deine Weise macht natürlich auch Sinn und werde ich auch verwenden:

PHP:
			<script>
				$(document).ready(function(){
					   $('ul.fcbklist > li').click(function () {
					   var userID = $(this, 'input').attr('default-value');
					   alert (userID);
					   $(this, 'input').attr('value', userID);	})	
					   
				});
			</script>

Aber irgend was mache ich mit der Selektion falsch. Er macht nix wenn ich auf ein Feld klicke.

Die Ausgabe dann:

PHP:
<?php
				<div id="fcbkuser">
					<ul id="fcbklist">	

    <li>        
        <strong><?php echo $row['username'];?></strong><br /> 
        <span class="fcbkitem_text"><?php echo $row['oauth_provider'];?></span>
        <input type="hidden" name="fcbklist_value[]" id="<?php echo $row['userID'];?>" value="" default-value="<?php echo $row['userID'];?>" />       
    </li>
</ul>
?>

Bin leider erst vor kurzem in Javascript/Jquery eingestiegen und die Syntax ist mir nicht ganz vertraut.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück