程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个?

开发过程中遇到尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个的问题如何解决?下面主要结合日常开发的经验,给出你关于尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个的解决方法建议,希望对你解决尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个有所启发或帮助;

我正在尝试为自己做一个测验,我想要所选单选按钮的数据值和它们的数据值。@R_895_9447@将它们作为数组或对象发送到 php 文件中。

这是我的代码:

let frm = $('#form');

    $('input[value="finished"]').on('click',function (E) {
        e.preventDefault();

        console.log($('input[type=radio]:checked').data('value'));

        $.AJAX({
            type: frm.attr('method'),url: "AJAX/quiz.php",data: frm.serialize(),success: function (data) {

            },}).done(function (data) {

        });
    });

有谁知道为什么它只显示一个?因为我已经搜索了一段时间,很多人都推荐这个选项。

Can't get input radio SELEcted value

我也试过这个: How to get the SELEcted radio button’s value?

但它仍然向我显示一个数据值。

解决方法

您可以通过多种方式做到这一点。我在下面展示了两种错误的方法和两种正确的方法:

$(function() {
    let frm = $('#form');

    $('input[value="finished"]').on('click',function (E) {
        e.preventDefault();

        /*console.log($('input[type=radio]:checked').data('value'));

        $.ajax({
            type: frm.attr('method'),url: "ajax/quiz.php",data: frm.serialize(),success: function (data) {

            },}).done(function (data) {

        });*/
        let output = document.getElementById("output");
        let val = $('input[type=radio]:checked').val();
        let data = $('input[type=radio]:checked').data('value');
        let serialized = frm.serialize();
        let accumulated = [...document.querySELEctorAll('input[type=radio]:checked')].map((item) => `${item.namE}=${item.value}`).join("&");
        output.innerHTML += `<p>val(): ${val}</p>`;
        output.innerHTML += `<p>data('value'): ${data}</p>`;
        output.innerHTML += `<p>serialized: ${serializeD}</p>`; //works
        output.innerHTML += `<p>accumulated: ${accumulateD}</p>`; //works
    });
});
<script src="https://cdnjs.cloudFlare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="form">
    <input type="radio" name="question1" value="answer1_1">
    <input type="radio" name="question1" value="answer1_2">
    <input type="radio" name="question2" value="answer2_1">
    <input type="radio" name="question2" value="answer2_2">
    <input type="submit" value="finished">
</form>

<div id="output"></div>

,

如果您坚持将值保存在 dataset (<input data-value="" />) 中,您可以这样做:

const values = $('input[type=radio]:checked')
  .map(function() {
    return $(this).data('value')
  })
  .get();

现在,values 是选定单选框中所有 data-value 值的数组。

您可以在此处阅读有关 jQuery 的 @H_980_7@map 的更多信息:https://api.jquery.com/map/

大佬总结

以上是大佬教程为你收集整理的尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个全部内容,希望文章能够帮你解决尝试获取所有选定的输入时,输入类型无线电数据值仅显示一个所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: