我有两个单选按钮,它们都有值。当选择一个并且点击按钮/链接时,需要将所选单选按钮的值输出到文本框。
这是我的HTML:
<form class="discount-choice" method="post" action="#">
<ul>
<li>
<input type="radio" value="1" name="discount" id="1-month" class="discount-checkbox" />
<label for="1-month">1 Month - no discount</label>
</li>
<li>
<input type="radio" value="0.95" name="discount" id="4-months" class="discount-checkbox" />
<label for="4-months">4 months - 5% discount</label>
</li>
</ul>
<a href="#" class="get-result">Get Result</a>
<input type="text" class="result" />
</form>
和我的JavaScript(jQuery):
var discount = $(".discount-checkbox").on("click", function () {
return this.value;
});
$(".get-result").on("click", function() {
$(".result").attr("value", discount);
});
单击按钮(选择单选按钮后),我只在文本框中显示[object Object]
。
我不确定将变量设置为jQuery函数的语法,所以这可能是我出错的地方。如果有人能给我一些很棒的指导。
感谢您的帮助:)
答案 0 :(得分:3)
discount
设置为$(".discount-checkbox")
返回的jQuery对象。您需要绑定更新变量的单击处理程序:
var discount = 0;
$(".discount-checkbox").on("click", function () {
discount = this.value;
});
答案 1 :(得分:1)
使用此:
$(".get-result").on("click", function(e) {
e.preventDefault();
$(".result").val( $('.discount-checkbox:checked').val() );
});
@billyonecan在评论中提及click
上的checkbox
处理程序。
并且......如果您确实需要将事件处理程序附加到checkboxes
,那将是change
事件处理程序而不是click
。
答案 2 :(得分:0)
无需折扣 - 复选框点击事件
$(".get-result").on("click", function() {
var discount = $(".discount-checkbox:checked").val();
$(".result").val(discount);
});
答案 3 :(得分:0)
试用此代码:
var discount;
$(".discount-checkbox").on("click", function () {
discount= this.value;
});
$(".get-result").on("click", function() {
$(".result").attr("value", discount);
});