Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据单选按钮选择设置隐藏输入值_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 根据单选按钮选择设置隐藏输入值

Javascript 根据单选按钮选择设置隐藏输入值,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个检查表,它根据单选按钮的选择来计算分数,这个单选按钮工作正常。当我发布表单时,我希望根据单选按钮选择,从同一类的隐藏输入中获得“是”或“否”的值 因为“value”字段被评分的整数占用,所以我想将一个值传递给具有相同类名的隐藏表单输入。如果所选单选按钮的值为0,则隐藏输入的值将为“否”,否则将为“是” 我希望能够通过所有的无线电输入组(有很多)进行迭代。这就是我在用英语编写的jquery中试图实现的目标: 对于每个单选输入组,如果选择的单选按钮值为0,则同一类别的隐藏输入值为“否”,否则

我有一个检查表,它根据单选按钮的选择来计算分数,这个单选按钮工作正常。当我发布表单时,我希望根据单选按钮选择,从同一类的隐藏输入中获得“是”或“否”的值

因为“value”字段被评分的整数占用,所以我想将一个值传递给具有相同类名的隐藏表单输入。如果所选单选按钮的值为0,则隐藏输入的值将为“否”,否则将为“是”

我希望能够通过所有的无线电输入组(有很多)进行迭代。这就是我在用英语编写的jquery中试图实现的目标:

对于每个单选输入组,如果选择的单选按钮值为0,则同一类别的隐藏输入值为“否”,否则为“是”

我在javascript方面遇到了问题,希望能得到一些帮助

HTML


  • 1+1等于10吗? 对 不

  • 提前感谢您,如果您需要更多信息,请告诉我。

    将JQuery事件附加到radiobutton更改

    $("input[type='radio']:checked").each(function(i, element) {
          var hiddenVal = $(element).value() === "0" ? "No" : "yes"
          $("." + $(element).attr("class") + "[type='hidden']").val(hiddenVal);
    })
    
    $(document).ready(function() {
        $('input.radio1[type=radio]').change(function() { //change event by class
            if (this.value == '0') {
                $(this.ClassName[type=hidden]).val("No");
            }
            else if (this.value == '1') {
               $(this.ClassName[type=hidden]).val("Yes");
            }
        });
    });
    

    此代码可能包含语法错误,将其视为伪代码并自行执行

    < P>将JQuery事件附加到RelpButt更改

    $(document).ready(function() {
        $('input.radio1[type=radio]').change(function() { //change event by class
            if (this.value == '0') {
                $(this.ClassName[type=hidden]).val("No");
            }
            else if (this.value == '1') {
               $(this.ClassName[type=hidden]).val("Yes");
            }
        });
    });
    

    此代码可能包含语法错误,将其视为伪代码并自行执行

  • 如果需要使用答案,请提供唯一的ID
  • 如果将[]添加到问题名称中,PHP会将其视为数组,您可以使用三元数设置值$answer=$question==“1”?“YES”:“NO”
  • 如果仍然需要使用隐藏字段,下面的代码不查看ID,而是查看每个li中字段的名称和类型
  • $(函数(){
    //$(“#问卷”)。在(“提交”//更好,但在SO代码段中不允许
    $(“#发送”)。点击,
    职能(e){
    e、 preventDefault();//测试时删除
    $(“#问卷调查ul li”)。每个(函数(){
    var$checkedRad=$(this).find('input[name^=question]:checked');
    var$answerField=$(this).find(“输入[name^=answer]”;
    $answerField.val($checkedRad.val()=“0”?“否”:“是”);
    });
    });
    });
    
    
    • 1+1等于10吗? 对 不
    • 1+1等于20吗? 对 不
    点击
  • 如果需要使用答案,请提供唯一的ID
  • 如果将[]添加到问题名称中,PHP会将其视为数组,您可以使用三元数设置值$answer=$question==“1”?“YES”:“NO”
  • 如果仍然需要使用隐藏字段,下面的代码不查看ID,而是查看每个li中字段的名称和类型
  • $(函数(){
    //$(“#问卷”)。在(“提交”//更好,但在SO代码段中不允许
    $(“#发送”)。点击,
    职能(e){
    e、 preventDefault();//测试时删除
    $(“#问卷调查ul li”)。每个(函数(){
    var$checkedRad=$(this).find('input[name^=question]:checked');
    var$answerField=$(this).find(“输入[name^=answer]”;
    $answerField.val($checkedRad.val()=“0”?“否”:“是”);
    });
    });
    });
    
    
    • 1+1等于10吗? 对 不
    • 1+1等于20吗? 对 不
    点击

    隐藏的输入似乎有点多余。为什么不根据收音机提供的值在服务器上设置布尔值呢?
    $answer=$\u GET[“question”]==“1”?“YES”:“NO”;
    $answer=$\u GET[“question”]==“0”?“NO”:“YES”;
    -如果PHP用[]给出问题的名称这将是一个非常好的决定,我看到JavaScript非常具有挑战性…它没有发布。这是Rory的布尔建议吗?:$answer=$\u GET[“question”]==“0”?“NO”:“YES”;就像php中的这样?$text=“
    • 1和1是2?”:$answer=$\u GET[“question”==“0”?“NO:“YES”;
      • ”隐藏的输入似乎有点多余。为什么不根据提供的无线电值在服务器上设置布尔值呢?
        $answer=$\u GET[“question”]=“1”?“YES”:“NO”
        $answer=$\u GET[“question”]=“0”?“NO”:“YES”
        -如果PHP用[]这将是一个非常好的决定,我看到JavaScript非常具有挑战性…它没有发布。这是Rory的布尔建议吗?:$answer=$\u GET[“question”]==“0”?“NO”:“YES”;就像php中的这样?$text=“
        • 1和1是2?”:$answer=$\u GET[“question”==“0”?“NO:“YES”;
          • ”这看起来不对。再添加几个LI,您将需要使用.closest(“LI”).find()或.next()进行游戏这看起来非常好,只需要了解有关布尔选项的更多信息。这个答案不需要布尔服务器端的东西就可以工作。虽然我同意这可能是一个更好的解决方案,但它并没有回答您关于如何在javascript中实现这一点的原始问题。谢谢,尽管我很感兴趣,但我不确定如何实现。谢谢谢谢你的帮助。看起来不太对劲。再加上几个LI,你就需要使用.closest(“LI”).find()或.next()了这看起来非常好,只需要了解有关布尔选项的更多信息。这个答案不需要布尔服务器端的东西就可以工作。虽然我同意这可能是一个更好的解决方案,但它并没有回答您关于如何在javascript中实现这一点的原始问题。谢谢,尽管我很感兴趣,但我不确定如何实现。谢谢谢谢你的帮助。这看起来像是我试图实现的。唯一的问题是它只适用于radio1。它可以遍历所有的单选组(如radio 1、radio 2等)吗?如果没有其他单选按钮组,你可以使用$('input[type=“radio”]”)作为上述代码第2行中的选择器。这看起来像我试图实现的。唯一的问题是它仅适用于radio1。它可以迭代所有无线电组(即无线电组)吗