当用户单击单选按钮时,我想在此小提琴中设置文本框的值,其中包含单击的单选按钮的名称和值。
我的脚本是:
$(function () {
$("#radio").buttonset();
$("radio").click(function () {
$("#did").val = ($(this).attr('name') + "=" + $(this).val);
});
});
其中#did 是输入文本框。但我的代码没有这样做。请帮忙。
当用户单击单选按钮时,我想在此小提琴中设置文本框的值,其中包含单击的单选按钮的名称和值。
我的脚本是:
$(function () {
$("#radio").buttonset();
$("radio").click(function () {
$("#did").val = ($(this).attr('name') + "=" + $(this).val);
});
});
其中#did 是输入文本框。但我的代码没有这样做。请帮忙。
您.val()
像变量一样使用,您不能分配给它。这是一个函数,调用它!
此外,$("radio")
寻找 html 标签<radio>
例如:
$("#did").val(($(this).attr('name') + "=" + $(this).val()));
正如已经指出的两个问题,但这两个问题都导致您的代码无法正常工作:
1)您.val
用作属性,但它是一个函数。因此,您需要更改此行
$("#did").val = ($(this).attr('name') + "=" + $(this).val);
至
$("#did").val($(this).attr('name') + "=" + $(this).val());
2) 您正在将 click 事件绑定到不存在的元素 ( <radio>
)。您需要将选择器更改为类似input[type='radio']
or的东西input[name='radio']
。
这是一个有效的 jsFiddle,它实现了这两个更改。
this
指全局上下文。您必须改为用户$(event.target)
。
$("radio").click(function (aEvent) {
$("#did").val ($(aEvent.target).attr('name') + "=" + $(aEvent.target).val());
});