2011-12-29 48 views
0

在我的頁面我有兩個收音機,用戶可以選擇任何一個,並在輸入框中鍵入他們的搜索詞,按鈕單擊我想附加到他們的搜索關鍵字的值選擇收音機?我們如何做到這一點在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

我只是想捕捉並一起傳遞,它用戶鍵入關鍵字值..不顯示 – 2011-12-29 20:46:11

+0

然後很簡單,如果單選按鈕的值將始終爲靜態,請爲它們指定一個屬性,並將它們代表的值。然後在您的函數中,只需使用選擇器來捕獲它並將其分配給var。一旦它在內存中,你幾乎可以做任何事情。 – Ken 2011-12-29 20:54:40

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); 
    } 
}); 

當然會火所有按鈕 - 當然,你可以將ID添加到這個特殊的按鈕,一個狹窄的選擇

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