将复选框列表中的值添加到文本框中

时间:2011-05-19 14:59:24

标签: jquery

我是jQuery的新手,所以我不熟悉它的语法。

我现在面临的问题是,我有一个下拉列表,其中包含一些值和相应的复选框。当有人从下拉列表中选择一个特定值,即从下拉列表中选中一个复选框时,我想将复选框的“值”添加到文本框中,该文本框除了复选框的下拉列表外。

我提出的代码是

$(".productr-dropdown li input[type='checkbox']").click(function(e){
        var cmd = $(this).val();
        addToTextBox(cmd);
});  

function addToTextBox(cmd){
    command = $(".z:eq(2)").find("#platform_Command").val();

    if (command.indexOf(' '+cmd+' ')>=0)
        return;
    else {
        // THIS IS THE NEXT PART WHERE I AM STUCK
        // I don't know how to add/replace the contents of 'cmd' 
        //  to the contents of 'command'(which is the value of the textbox)    
    }       
}

为了更好地解释我的问题,我会在这里写一个用例, 用户从下拉列表中选中一个复选框,例如,选中的复选框的值是'abc',我要添加的文本框'abc'已经有一个值'xyz hijkl defg'。应该发生的是值'abc'应该以这样的方式添加到文本框中,即文本框的值将是'xyz abc hijkl defg'

我遇到的问题是我不确定是否也在调用正确的事件。

我想到的另一种方法是, $(document).click(function(e){         $( “productr-下拉。”)隐藏()。         $(“。productr-dropdown”)。each([“input ='checkbox':checked”],function(e){             addToTextBox($(本).VAL());         });     });

哪一个更好?

只选择下拉列表中选中的值的语法是什么?

3 个答案:

答案 0 :(得分:1)

你的HTML会很友好。 我在这里改进了:

JSFIDDLE demo

我还不清楚你想要实现什么目标。

答案 1 :(得分:0)

你不能这样做:

$('#myTxt').val( $('#mytxt').val() + cmd )

答案 2 :(得分:0)

您需要从

重写
command = $(".z:eq(2)").find("#platform_Command").val();

command = $(".z:eq(2)").find("#platform_Command");

if (command.indexOf(' 'cmd+' ')>=0)

if (command.val().indexOf(' 'cmd+' ')>=0)

这样您就可以轻松地使用以下内容来调整值

command.val(command.val() + " " + cmd);