Итак, у меня есть элемент с переключателями, и я клонирую этот элемент при нажатии кнопки добавления; однако, как только я это сделаю, кнопка на начальном элементе не отмечена. Я знаю, почему это происходит, но как только я начал реализовывать работу, это не делает, как я ожидаю.JQuery xpath selector
Здесь было мое решение:
//This stores the value of the checked element into a variable before the clone
var radioKeep = $('input.event'+(numOfParts-1)+':checked').val();
//Cloned the element passed into the function
$(element).parent().clone(true, false).insertAfter($(element).parent());
Затем после того, как клон, я стараюсь, чтобы убедиться, кнопка начальная радио перепроверены с помощью следующей комбинации JQuery и XPath.
$('input.event'+(numOfParts-1)+'[@value='+radioKeep+']').attr('checked', 'checked');
В результате все радиоэлементы проверены ... почему ???
Заранее спасибо.
Возможно, я должен упомянуть, что не все элементы на самом деле отображаются, но только в исходном коде они отображаются checked = «проверено» конечная радиокнопка на странице, однако она остается явно проверенной. –
Трудно сказать, можете ли вы 'console.log (radioKeep + '-' + numOfParts)', эти значения когда-либо меняются? Если нет, то ваш селектор будет соответствовать каждому клонированному элементу, и вы также никогда не очищаете значение, поэтому значение всегда будет соответствовать. Похоже, это, скорее всего, проблема. Можете ли вы получить jsFiddle? – Ohgodwhy
Я предупреждал некоторые ценности, пытаясь разобраться в проблеме, и все имеет смысл, как я пытаюсь это сделать. Таким образом, $ ('input.event' + (numOfParts-1) оценивает значение $ ('input.event0') и radioKeep оценивает до нужного значения. –