Как вернуть радио проверенный объект с помощью jQuery? - PullRequest
1 голос
/ 17 мая 2010

HTML

<input type="radio" name="rdName" id="uniqueID1" value="1" checked="checked">
<input type="radio" name="rdName" id="uniqueID2" value="2">
<input type="radio" name="rdName" id="uniqueID3" value="3">

jQuery # 1

$('input:radio[name=rdName]:checked').val();

jQuery # 2

$('input[name=rdName]:checked');

jQuery # 1 получает значение проверенного радио, но мне нужно получить весь объект, чтобы получить идентификатор. jQuery # 2 получить это (из консоли Chrome Dev). Объект "0" - это фактический объект, который мне нужен, но я не могу сделать это.

0: HTMLInputElement
constructor: function Object()
context: HTMLDocument
length: 1
prevObject: Object
selector: input[name=rdName]:checked
__proto__: Object

Есть идеи, как выделить нужный объект?

Ответы [ 4 ]

3 голосов
/ 17 мая 2010

Вы можете получить доступ к элементам в объекте jQuery в виде массива:

var element = $('input[name=rdName]:checked')[0];

Или вы можете использовать метод get:

var element = $('input[name=rdName]:checked').get(0);
0 голосов
/ 13 января 2014
$(document).ready(function () {
  $("input[name='rdName']").on({
    'change': function () {
      $.each($("input[name='rdName']"), function () {
        var ObjectId;

        if ($(this).is(':checked')) {
          console.log(this); /* Jquery "this" you want */
          ObjectId = $(this).attr('id'); /* Id of above Jquery object */
        }
      });
    }
  });
});

Попробуйте, я надеюсь, что это будет работать в соответствии с вашими требованиями, так как вы хотите, чтобы только jQuery Object получал атрибут (id) отмеченного переключателя. Вы можете увидеть объект jQuery, используя этот код в FireBug.

0 голосов
/ 17 мая 2010

Вы имеете в виду это:

  alert($('input[name=rdName]:checked').get(0));
0 голосов
/ 17 мая 2010
$('input:radio[name=rdName]:checked').attr('id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...