добавить выбранное значение радио в ключевое слово для поиска по нажатию кнопки - PullRequest
0 голосов
/ 30 декабря 2011

На моей странице есть две радиостанции, пользователь может выбрать любую и ввести свое поисковое слово в поле ввода, при нажатии кнопки я хотел бы добавить к их поисковому ключевому слову значение выбранной радиостанции? Как мы это делаем в JQuery или Javascript?

Таким образом, если они ввели «Танец» и выбрали «классы», то фактическое ключевое слово для поиска будет «Танцевальные классы»

<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>

Ответы [ 4 ]

0 голосов
/ 30 декабря 2011
$( "button" ).live(
   'click',
   function (  )
   {
      $strVal = $( "[name='T1']" ).val(  ) . $( "[name='EventRadio']:checked" ).val(  );
      $( "[name='T1']" ).val( $strVal );
   }
);
0 голосов
/ 30 декабря 2011

Нужна дополнительная информация: хотите ли вы, чтобы в текстовом поле также отображалось дополнительное ключевое слово?

Все, что вам действительно нужно сделать, - это зафиксировать значение attr радио, если оно проверено в вашей функции SFSUBMIT.,В jQuery есть несколько различных конструкций для этого.

0 голосов
/ 30 декабря 2011

Если я понимаю вопрос, когда пользователь нажимает кнопку, добавьте, что находится в текстовом поле с установленной в данный момент переключателем?

$("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 голосов
/ 30 декабря 2011
$('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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...