如何使用ajax从单选按钮或复选框使用相同的jQuery代码

时间:2016-01-13 08:13:46

标签: javascript php jquery ajax

我正致力于项目,其中问题可以是单一选择,也可以是多项选择,并且是使用ajax从服务器获取的。 PHP代码是

	<?php 
	if($options){
			foreach($options as $option){
				?>
				<li class="col-lg-4 form-group">
				<?php
						if($choice_type AND $choice_type==1):
				?>
					<input type="radio" id="options" required value="<?php echo $option->id;?>"> <?php echo $option->option_name;?>
				<?php 
						else:
				?>
				<input type="checkbox" id="options" required value="<?php echo $option->id;?>"> <?php echo $option->option_name;?>
				<?php 
						endif;
				?>
				</li>
				<?php
				}
		
	}	
		
	?>

我正在使用jquery代码

	$(document).ready(function() {
		$('#submit_next').click(function () {
		var qsn = $('#question_id').val();
		var opsn = $('#options').val();
		var data='que='+qsn+'&ans[]='+opsn;
		$.ajax({
		type:"GET",
		url:"<?php echo base_url('questions/save_answer')?>",
		data:data,
		success:function(html) {
		$("#question").html(html);
		}
		});
		return false;
		});
	});

当我只有单选按钮时,哪个工作完全正常,但现在我有两个,所以我需要更改我认为是这样的代码。

$(document).ready(function() {
		$('#submit_next').click(function () {
		var qsn	=	$('#question_id').val();
		var opsn	=	[];
		
		$("#options").each(function() {
			if($(this).attr('checked') || attr('selected')) {
				opsn.push.($(this).val());
            }
		  
		});

		var data='que='+qsn+'&ans='+opsn;
		$.ajax({
		type:"GET",
		url:"<?php echo base_url('questions/save_answer')?>",
		data:data,
		success:function(html) {
		$("#question").html(html);
		}
		});
		return false;
		});
	});

我想要的只是,如果它的单选按钮,我想在单个值的数组中接收服务器端的数据,或者如果我有复选框,我将获得具有多个值的数组。

例如:

单选按钮,我希望

$option[0]= 2;

并且对于复选框,它应该是

$option[0]=>2,$option[1]=>5.

将非常感谢帮助。

0 个答案:

没有答案