在点击时将按钮的ID附加到输入值

时间:2014-10-31 16:01:43

标签: javascript jquery

如何在按钮点击时将id按钮附加到input值?

示例输入(按下按钮):

#en #de #fr #it #es

示例输出:

<input name="langs" value="en,de,fr,it,es,">

这就是我所拥有的,但它不起作用:

$(".lang-btn").click(function() {
    $(this).toggleClass("active");
    $("input[name=languages]").val() += $(this).attr("id") . ",";
});

我希望能够在再次按下该按钮时重新调整input值,删除id

2 个答案:

答案 0 :(得分:3)

关闭,.val()将值作为参数:

$(".lang-btn").click(function() {
    $(this).toggleClass("active");
    var id = this.id,
        currentValue = $("input[name=languages]").val();

    //Check for existing
    if (currentValue.indexOf(id) > -1) {
        //remove it
        currentValue = currentValue.replace(id + ",", "");
        $("input[name=languages]").val(currentValue);
    } else {
        $("input[name=languages]").val(currentValue + id + ",");
    }
});

工作演示:http://jsfiddle.net/9L76d0sr/

答案 1 :(得分:0)

如果你有单选按钮,你可以看到是否有被检查:document.getElementById(“X”)。checked = true;
然后你可以在输入栏中随意添加它们