2016-05-18 8 views
1

Ich muss ein onkeyup Attribut zu einem Eingabefeld setzen, wenn ein Optionsfeld ausgewählt ist. Das ist also das Eingabefeld die ich habe:Attribut zu Eingabefeld hinzufügen, wenn Radio-Box ausgewählt ist

<input type="text" name="searchval" value="<?php echo $search; ?>" > 

Die Radio-Buttons:

<form action=""> 
<input type="radio" name="merchant" value="merchant"> Merchant<br> 
<input type="radio" name="brand" value="brand"> Merchant<br> 
</form> 

So zum Beispiel, wenn die "Händler" Radio ausgewählt ist, möchte ich das Eingabefeld onkeyup="searchmerchant()" hinzufügen das Eingabefeld sollte also so aussehen:

<input type="text" name="searchval" value="<?php echo $search; ?>" onkeyup="searchmerchant()" > 

Wie mache ich das Javascript?


EDIT: mit dem Code von Jayesh Chitroda Antwort, ich habe eine Geige erstellt: JS Fiddle

+0

können Sie tun, dass 'attr()' mit '$ ('input [name = "searchval"]') attr ('onkeyup', 'searchmerchant().');' – dreamweiver

+0

die beiden Radio Buttons sollten dem Eingabefeld @dreamweiver zwei verschiedene onkeyup Attribute hinzufügen –

Antwort

0

starten:

JQuery:

$('input[name="searchval"]').keyup(function(){ 
     console.log($('input[name=selection]:checked').val()) 
     var val = $('input[name=selection]:checked').val(); 
     if(val == 'merchant') { // check if selected radio is 'merchant' set onkeyup attribute 
      $(this).attr("onkeyup","searchmerchant()") 
     } else { 
      $(this).removeAttr("onkeyup"); // Remove if not merchant selected 
     } 
    }); 

Html:

Weisen Sie beiden Optionsfeldern denselben Namen zu und aktualisieren Sie sie Werte des Optionsfelds.

<form action=""> 
    <input type="radio" name="selection" value="merchant"> Merchant<br> 
    <input type="radio" name="selection" value="brand"> Brand<br> 
</form> 
+0

'$ (this) .attr (" onkeyup "," searchmerchant() ")' hier kann ich die ID des Eingabefeldes anstelle von "this" benutzen? –

+0

Ja, Sie können ID der Eingabe festlegen, aber dafür müssen Sie ID-Attribut in Eingabe-Tag zuerst hinzufügen –

+0

ja ich habe die ID = "s" und $ ('# s'). Attr aber nicht funktioniert –