0

当用户单击单选按钮时,我想在此小提琴中设置文本框的值,其中包含单击的单选按钮的名称和值。

我的脚本是:

$(function () {
    $("#radio").buttonset();
    $("radio").click(function () {
        $("#did").val = ($(this).attr('name') + "=" + $(this).val);
    });
});

其中#did 是输入文本框。但我的代码没有这样做。请帮忙。

4

3 回答 3

1

.val()像变量一样使用,您不能分配给它。这是一个函数,调用它!

此外,$("radio")寻找 html 标签<radio>

例如:

$("#did").val(($(this).attr('name') + "=" + $(this).val()));

于 2013-08-18T22:36:02.120 回答
1

正如已经指出的两个问题,但这两个问题都导致您的代码无法正常工作:

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,它实现了这两个更改。

于 2013-08-18T22:43:31.040 回答
-1

this指全局上下文。您必须改为用户$(event.target)

$("radio").click(function (aEvent) {
    $("#did").val ($(aEvent.target).attr('name') + "=" + $(aEvent.target).val());
});
于 2013-08-18T22:37:56.303 回答