2011-12-29 5 views
0

私のページには2つのラジオがあり、ユーザーはいずれかを選択して入力ボックスに検索語を入力することができます。ボタンをクリックします。選択したラジオは?私たちはjqueryやjavascriptでどのようにしますか?ここでボタンクリックでキーワードを検索するために選択したラジオ値を追加

彼らはダンスとselcted「クラス」で入力したのであれば渡される実際の検索キーワードは「ダンス教室」

<div> 
     Events<input name="EventRadio" type="radio" value="Events"/>&nbsp; 
     Classes<input name="EventRadio" type="radio" value="Classes"/><br /><br /> 
     <input type="text" name="T1" style="width: 302px"/> 
     <input type="button" value="Search" onclick="javascript:_SFSUBMIT_"/> 
    </div> 

答えて

0
$('input[type="button"]').on('click', function() { 
    var $this  = $(this), 
     concocted = $this.prev().val() + ' ' + $this.prevAll('[type="radio"]:checked').val(); 

    //you can now do what you want with the `concocted` variable, which is in the format "{text-input} {radio input}" 
}); 

になりますが、デモです:http://jsfiddle.net/LAuZW/

(注)このことすべてのセレクタがクリックされたボタン入力であるthisに基づいているため、複数の入力セットがある場合はコードが機能します。

また、.on()はjQuery 1.7で新しく、このユースケースでは.bind()と同じです。

0

さらに詳しい情報が必要です:追加のキーワードをテキストボックスにも表示したいですか?

SFSUBMIT機能でチェックすると、ラジオの値attrを取得するだけです。 jQueryにはこれを行うためのいくつかの異なる構造があります。

+0

狭いこの特定のボタンにIDを追加することができますユーザーがキーワードの値を入力しています。 –

+0

ラジオボタンの値が常に静的になる場合は、単純に値を表す属性を割り当てます。あなたの関数では、単にセレクタを使ってそれをキャプチャし、それをvarに代入します。それがメモリに入ったら、それを使って何かをすることができます。 – Ken

0

私が質問を理解している場合、ユーザーがボタンをクリックすると、現在チェックされているラジオボタンのテキストボックスに何が追加されますか?もちろん

$("input[type='button']").click(function() { 
    var text = $("input[name='EventRadio']:checked").val(); 
    if (text) { 
     var $tb = $("input[name='T1']"); 
     $tb.val($tb.val() + text); 
    } 
}); 

これはのために、すべてのボタンを起動します - 自然に私はちょうどに沿って、それをキャプチャして渡したいセレクタ

$("#buttonId").click(function() { 
0
$("button").live(
    'click', 
    function () 
    { 
     $strVal = $("[name='T1']").val() . $("[name='EventRadio']:checked").val(); 
     $("[name='T1']").val($strVal); 
    } 
); 
関連する問題