簡體   English   中英

使用jquery獲取單選按鈕的值並根據選擇顯示文本

[英]Using jquery to get values of radio buttons and display text depending on selection

我在這里有以下代碼http://jsfiddle.net/fQTUp/302/一切正常,直到添加第二組單選按鈕。

$("input").click(function (event) {
    var total = 0;
    $("input:checked").each(function () {
        if ($(this).attr("price") !== undefined) {
            total += parseInt($(this).attr("price"));

        } else {
            total += 0;
        }
    });

    if (total === 0) {
        $('.total-price').text('Some new text.');

    } else {
        $('.total-price').text('Total price: $' + total);
    }

});

$("input").click(function (event) {
    $("input:checked").each(function () {
        if ($("input:checked").attr("value") == "ownlogo") {
            $('.logo_p').text('Own logo.');
        }

        if ($("input:checked").attr("value") == "textlogo") {
            $('.logo_p').text('Text logo.');
        }

        if ($("input:checked").attr("value") == "Starter") {
            $('.plan_price').text('Strtr price.');
        }

        if ($("input:checked").attr("value") == "Business1") {
            $('.plan_price').text('Business price.');
        }

        if ($("input:checked").attr("value") == "Pro") {
            $('.plan_price').text('Pro price.');
        }

    });

});

當我開始單擊第二組按鈕時-它起作用,但是當我從第一組中選擇某項時,第二組停止工作。

請看一下腳本,以了解我的問題。

謝謝你的幫助!

您必須在.each()循環中使用$(this)引用。 $("input:checked") .each()循環內的$("input:checked")只會返回第一個匹配的元素,這就是代碼中的問題。

嘗試,

$("input").click(function (event) {
    $("input:checked").each(function () {
        if ($(this).attr("value") == "ownlogo") {
            $('.logo_p').text('Own logo.');
        }

        if ($(this).attr("value") == "textlogo") {
            $('.logo_p').text('Text logo.');
        }

        if ($(this).attr("value") == "Starter") {
            $('.plan_price').text('Strtr price.');
        }

        if ($(this).attr("value") == "Business1") {
            $('.plan_price').text('Business price.');
        }

        if ($(this).attr("value") == "Pro") {
            $('.plan_price').text('Pro price.');
        }
    });
 });

DEMO

試試這個檢查

 if ($('input[name=RadioGroupName]:checked').attr("value") == "textlogo")

其中RadioGroupName是您的單選按鈕組名稱。 這樣,您可以分別檢查每個組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM