[英]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.');
}
});
});
試試這個檢查
if ($('input[name=RadioGroupName]:checked').attr("value") == "textlogo")
其中RadioGroupName是您的單選按鈕組名稱。 這樣,您可以分別檢查每個組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.