有人知道如何在div中获取所有radiobuttons? div的id如下
<div id="quest{{ $groups }}" class="quest">
我正在使用Laravel,因此我的想法是将值放在div中,然后放入类似
的jQuery var radios = $("input[type='radio'][id^='quest'"+groups+"]");
但是这不起作用,所以我想知道如何使用div中的所有radiobuttons进行内部循环。我认为。
我需要复制一组问题,然后才能进行验证,但只适用于第一组,第二组未经验证,我已检查每个单选按钮的id值并更改为previousid_2,并且问卷被克隆了。此外,我想知道如何在克隆调查问卷时重置值,因为如果您选择了“是”否,则在第二组中克隆它时,将选择这些结果并禁用字段。
答案 0 :(得分:3)
你实际上是在问几件事。您的代码意味着您可以访问名为groups
的变量中的当前组。所以...
1)选择div中的所有无线电输入:
var div = $("div#quest"+groups);
var radiosBtns = div.find("input[type='radio']");
2)循环遍历它们,并对每个元素做一些工作:
var doSomeWork = function(i,radiobtn){
console.log('the value of radio button #' + i ' is ' + radiobtn.value);
};
$.each(radioBtns,doSomeWork);
3)复制一组单选按钮:
var fromgroup = $("div#quest"+groups);
var togroup = fromgroup.clone();
var insertionPoint = $('body');
var toGroupId = 'questXXX';
// set the ID so it can be targetted
togroup.prop('id',toGroupId);
// reset radio button values
togroup.find('input[type="radio"]').each(function(){
this.prop('checked',false);
});
togroup.appendTo(insertionPoint);
4)对特定群组运行验证
var validateGroup = function(elements){
// your validation logic goes here
var isValid = false;
$.each(function(){
console.log( this.name, this.value );
});
return isValid;
};
// run the validation on the newly inserted group
var targetElements = $("#"+toGroupId).find("input[type='radio']");
var groupIsValid = validateGroup( targetElements );
答案 1 :(得分:1)
您可以获取所有单选按钮并按照以下
进行迭代od -An -N1 -i /dev/random
答案 2 :(得分:0)
使用Id非常简单 要获得以“任务”开头的所有元素,您应该使用:
$("[id^=quest]")
以“jander”结束那些结束
$("[id$=quest]")
完整的答案是
var radios = $("input[type='radio'][id^='quest']");
关键是如果你想要通配符类:( :(
$("[class^=quest]")
就像
一样<pre>
<a class="btn quest primary">link</a>
<pre>
它不起作用,因此当你找到它时,你需要一个更复杂的通配符,直到我:D
事实是你不需要它,每当你需要使用类获取元素列表时只需使用一个公共类:D 希望我帮助你好