使用 jQuery 将值传递给结果

发布于 2024-10-01 06:56:32 字数 1214 浏览 2 评论 0原文

我有一个简单的形式:

<form id="radio_form">
  <fieldset>
    <label><input type="radio" name="color" value="1" />Red</label><br />
    <label><input type="radio" name="color" value="2" />Yellow</label><br />    
    <label><input type="radio" name="color" value="3" />Blue</label><br />
    <label><input type="radio" name="color" value="4" />Purple</label><br />
  </fieldset>

   <fieldset>
    <label><input type="radio" name="time" value="6" />12</label><br />
    <label><input type="radio" name="time" value="7" />11</label><br />    
    <label><input type="radio" name="time" value="8" />10</label><br />
    <label><input type="radio" name="time" value="9" />9</label><br />
  </fieldset>
</form>

我试图将两个选定的值作为总和传递给 .result ,不幸的是 .result 仅显示第一个输入[颜色]中的值。我如何获取输入[颜色]和输入[时间]的结果?

这是我的职责:

$(function(){
    var value = $('input:radio:checked').val();

    $('.result').html(value)


});

非常感谢您的提前帮助。

多姆

I have a simple form:

<form id="radio_form">
  <fieldset>
    <label><input type="radio" name="color" value="1" />Red</label><br />
    <label><input type="radio" name="color" value="2" />Yellow</label><br />    
    <label><input type="radio" name="color" value="3" />Blue</label><br />
    <label><input type="radio" name="color" value="4" />Purple</label><br />
  </fieldset>

   <fieldset>
    <label><input type="radio" name="time" value="6" />12</label><br />
    <label><input type="radio" name="time" value="7" />11</label><br />    
    <label><input type="radio" name="time" value="8" />10</label><br />
    <label><input type="radio" name="time" value="9" />9</label><br />
  </fieldset>
</form>

I'm trying to pass both selected values as a sum to the .result unfortunately .result is showing only values from first input[color]. How can i grab results from both: input[color] and input[time]?

This is my function:

$(function(){
    var value = $('input:radio:checked').val();

    $('.result').html(value)


});

Many thanks for help in advance.

Dom

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疾风者 2024-10-08 06:56:32

与大多数 jQuery 的 getter 重载一样,val() 仅返回第一项的值。您可以使用map()并加入结果数组:

$(function() {
    var value = $('input:radio:checked').map(function() {
        return this.value;
    }).get().join(" ");  // You could join with a comma if you like

    $('.result').text(value);  // Use text() unless you're adding HTML
});

啊,看来您正在追求运行总计。在这种情况下,您需要使用 each() 来代替:

$(function() {
    var value = 0;

    $('input:radio:checked').each(function() {
        value += +this.value;
    });

    $('.result').text(value);  // Use text() unless you're adding HTML
});

上面代码中的 +this.value 将值强制转换为数字。

Like most of jQuery's getter overloads, val() returns only the first item's value. You could use map() and join the resulting array:

$(function() {
    var value = $('input:radio:checked').map(function() {
        return this.value;
    }).get().join(" ");  // You could join with a comma if you like

    $('.result').text(value);  // Use text() unless you're adding HTML
});

Ahh, it appears you're after a running total. In that case, you'll need each() instead:

$(function() {
    var value = 0;

    $('input:radio:checked').each(function() {
        value += +this.value;
    });

    $('.result').text(value);  // Use text() unless you're adding HTML
});

+this.value in the code above coerces the value to a number.

私藏温柔 2024-10-08 06:56:32
$(function(){
    $(".result").html(""); // clear result
    $("input:radio:checked").each(function() {
        $(".result").append($(this).val()); // append value of each matched selector
    });
});
$(function(){
    $(".result").html(""); // clear result
    $("input:radio:checked").each(function() {
        $(".result").append($(this).val()); // append value of each matched selector
    });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文