【问题标题】:Radio button array name - how to access them单选按钮数组名称 - 如何访问它们
【发布时间】:2015-06-23 11:01:31
【问题描述】:

我的表单带有数组的单选按钮。我需要检查是否单击了单选按钮,但名称有问题。我试图写它answeranswer[],但它没有告诉我下一个问题。如果我写input[type='radio']:checkediow 我可以这样做吗? :)

$(function () {
        $("#next").click(showNextQuestion);
    });

var currentInd = 0;
var prevInd = 0;
function showNextQuestion(){
$(function () {
	var indId = "#"+currentInd;
	prevInd = currentInd - 1;
	var prevId = "#"+prevInd;
	//validation
	var isAnyClicked = false;
	

	if ($("input[name^='answer']:checked").val()) {
   		isAnyClicked = true;
	}
	if(currentInd > 0 && isAnyClicked == false)
	{
		alert('Otgowori!');
	}
	else{
		//hide previous question
		
		$(prevId).hide();
		
		//show next question 
		var indId = "#"+currentInd;
	        $(indId).show();
	        currentInd++;
    }
    });
}
$data=array(
			'name' =>  'answer['.$row->question_id.']',
			'value' => '5'
		);
echo form_radio($data); 
		echo " 5 ";
		$data=array(
			'name' =>  'answer['.$row->question_id.']',
			'value' => '4'
		);
		echo form_radio($data);
		echo " 4 ";
		$data=array(
			'name' => 'answer['.$row->question_id.']',
			'value' => '3'
			
		);
		echo form_radio($data);
		echo " 3 ";

【问题讨论】:

    标签: jquery radio


    【解决方案1】:

    因为你的 id 是这样的: answer[xxx] 我不确定你的选择器会起作用。

    你可以试试这个找到一个以值开头的属性(在你的情况下是这样的:

    input[name^='answer']:checked
    

    虽然我没有测试过。

    https://api.jquery.com/attribute-starts-with-selector/

    【讨论】:

    • 是的,它有效,但仅适用于第一个问题。我下一个推,但其他问题没有验证。这只是第一次。
    • 你从哪里得到“currentInd”?
    • 和 currentInd 与 $row->question_id 相关?
    • 是的 - 对于当前问题。
    • 那么你可以这样做:"input[name='answer[" + currentInd + "]']:checked" 我认为它会抓住你点击的那个。至于为什么它没有显示你的下一个 - 很难说,但我没有看到你在任何地方增加 currentInd 的价值......你不需要这样做来显示下一个吗?
    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2014-12-24
    • 2017-11-24
    • 2012-11-01
    • 2010-10-10
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多