Ik ben bezig een balk aan de onderkant te maken met opties.
Hier kan een gebruiker dan de balk zelf samenstellen d.m.v. het menu.

Het probleem waar ik nu mee zit is, dat dit enkel eenmalig uitgevoerd kan worden.
Dus bijvoorbeeld je hebt een optie aan staan, dan kan deze alleen maar uit en andersom.



Het menu is nog niet werkend dus de opties die aan- en uitstaan kloppen niet met de balk eronder.

javascript.php heeft nog geen functie, dus toevoegen heeft weinig zin. Het zet bij iedere optie een ander woordje in de balk om te testen.

$(document).ready(function() {
	// Hang een event listener voor het klik event aan de class .ajaxableVar
	$('.put_on').click(function(){
		//this.setAttribute("class", "put_off");
		$.ajax({
			// In dit geval wil ik een post maar het kan ook met bijv. GET variabelen
			type: "POST",
			// De data die we willen posten als variabel ajaxableVar is de inhoud van
			// this (in dit geval dus de inhoud van het element waarop we geklikt hebben)
			data: ({optie : $(this).val()}),
			// Het url waarnaar de AJAX request gaat
			url: 'js/javascript.php',
			success: function(data) {
				// We plaatsen het resultaat van de call als content van de div
				// #ajaxResult
				$('#Check').html(data);
			}
		});
		$(this).css({"background-image":"url(images/icon_unchecked.png)"});
	});
	$('.put_off').click(function(){
		//this.setAttribute("class", "put_on");
		$.ajax({
			// In dit geval wil ik een post maar het kan ook met bijv. GET variabelen
			type: "POST",
			// De data die we willen posten als variabel ajaxableVar is de inhoud van
			// this (in dit geval dus de inhoud van het element waarop we geklikt hebben)
			data: ({optie : $(this).val()}),
			// Het url waarnaar de AJAX request gaat
			url: 'js/javascript.php',
			success: function(data) {
				// We plaatsen het resultaat van de call als content van de div
				// #ajaxResult
				$('#Check').html(data);
			}
		});
		$(this).css({"background-image":"url(images/icon_checked.png)"});
	});
}); 


<div id="settings" style="display: block;">
   <ul>
      <li>
         &nbsp;&nbsp;Instellingen
      </li>
      <li>
         <input id="1" class="put_on" style="background: url(images/icon_checked.png) right no-repeat;" type="button" name="Users" value="Users" />
      </li>
      <li>
         <input id="2" class="put_off" style="background: url(images/icon_unchecked.png) right no-repeat;" type="button" name="Website link" value="Website link" />
      </li>
      <li>
         <input id="3" class="put_on" style="background: url(images/icon_checked.png) right no-repeat;" type="button" name="Status" value="Status" />
      </li>
   </ul>
</div> 


EDIT:
Code tags toegevoegd
Erwin H op 03/07/2013 14:51:18

Dat verklaart inderdaad waarom het eerder niet werkte, had ik natuurlijk er wel bij kunnen zetten.
In jquery bestond on() niet voor versie 1.7. click() was toen dus ook nog geen shorthand voor on('click'). Bij de introductie van on() is dat veranderd.


Is het verstandig om altijd de nieuwste versie te gebruiken? Er is zover ik kan vinden een lijst met bijvoorbeeld nightly/unstable of stable versies. of zijn ze ten alle tijden stabiel in gebruik als ze uit worden gebracht.[size=0.5](Dan doen ze het beter dan google)[/size]
Ger van Steenderen op 03/07/2013 14:52:53

Wat nu precies de reden is dat .click is ingevoerd weet ik niet, daarvoor werk ik nog niet lang genoeg met jQuery.

click was er eerst. De goede vraag is dus waarom die nog bestaat. Ik neem aan vanwege backwards compatibility.
Martijn L op 03/07/2013 15:04:27

Is het verstandig om altijd de nieuwste versie te gebruiken? Er is zover ik kan vinden een lijst met bijvoorbeeld nightly/unstable of stable versies. of zijn ze ten alle tijden stabiel in gebruik als ze uit worden gebracht.

In principe wel, maar nu 2.0 uit is moet je dan wel een keuze maken vanwege het feit dat men support voor een aantal (oude) browsers daarin heeft laten vallen. Wil je die dus nog ondersteunen dan moet je op 1.9 blijven.

Reageren