我有一个网页,我可以选中复选框。现在我想做的是使用id来选择上面选择中的复选框,我使用this.id.但没有运气。不知道我在哪里错了。这是我的功能。
function GetSelectedChks()
{
var doc = document.forms["form1"];
var valarr=[];
var ids = "";
var selIndexes = "";
$(":checked").each(function(index)
{
if(this.name=='selChk' && ids!=this.id)
{
ids = this.id;
$(eval('#"+ids+"')).each(function(index1){selIndexes=selIndexes+"-"+this.value});
valarr.push(ids+"~"+selIndexes);
selIndexes = "";
}
});
doc.selChk.value = valarr;
}
答案 0 :(得分:0)
我想建议不要使用混合js / jquery,一切都可以用js或jquery本身。
你的问题不清楚你的目标是什么。根据我的理解,您试图在1个字段中获取所有选中的复选框。但我不明白为什么你再次把它放在你的复选框值中。
无论如何,请找到我试图达到我想要达到的目标的小提琴代码。演示:http://jsfiddle.net/gZZF3/
HTML:
<form name="form1">
<input type="checkbox" id="1" name="selChk" value="test 1" /> test 1
<input type="checkbox" id="2" name="selChk" value="test 2" />test 2
<input type="checkbox" id="3" value="test 3" />test 3
<input type="checkbox" id="4" value="test 4"/>test 4
<input type="hidden" value="" />
</form>
JS:
function GetSelectedChks() {
var doc = document.forms["form1"];
var valarr=[];
var ids = "";
var selIndexes = "";
$(":checked").each(function(index)
{
if(this.name=='selChk' && ids!=this.id)
{
ids = this.id;
$('#'+ids).each(function(index1){
selIndexes=selIndexes+"-"+this.value
});
valarr.push(ids+"~"+selIndexes);
selIndexes = "";
}
});
$('input[type="hidden"]').val(valarr);
}
$('input').click(function(){
GetSelectedChks();
alert ($('input[type="hidden"]').val());
});