2015-02-12 63 views
1

我有一组复选框,当我检查它们时,它们的标签文本需要在输入字段中逗号分隔。但是,我不想在输入字段中显示这些值,因为它也用于搜索词。如何使用选中的复选框文本自动填充输入文本字段?

在我可以用一个按钮将其发送到这样的输入字段抢签文本框的时刻:

jQuery('#save_value').click(function() { 
    var sel = jQuery('input[type=checkbox]:checked').map(function(_, el) { 
    return jQuery(el).parent().text(); 
    }).get(); 
    jQuery("#s").val(sel); 
}); 

答:我不应该有一个按钮,但作为尽快检查值(文本)应以逗号分隔输入字段,B:这些值当前显示在字段中,但我不想显示它们以保留空字段,同时仍保留数据。

<label> 
    <input type="checkbox"> 
    NY 
</label> 
<label> 
    <input type="checkbox"> 
    LA 
</label> 
<input type="button" id="save_value" name="save_value" value="save"> <= I don't want this 
<input id="s" type="text"> 
<inputtype="submit"> <= The submit should get all the data in the text field, even those data from the checked boxes that I am grabbing but that I don't want to display to the users 

回答

1

我认为你可以使用2场,1个接收用户输入和其他的复选框和用户输入的组合数据发送到服务器,以便

<input id="checkIt" name="checkIt" name="s" type="hidden"/> 
<input type="text" class="form-control" value="" id="s" placeholder="Search for..."/> 

然后在表单提交处理程序

jQuery('form').submit(function() { 
    var sel = jQuery('input[type=checkbox]:checked').map(function (_, el) { 
     return jQuery(el).parent().text().trim(); 
    }).get(); 
    var s = $('#s').val().trim(); 
    jQuery("#checkIt").val(sel.join()+ ',' + s); 
}); 
+0

好的,这对于问题1来说非常棒,非常感谢。现在,文本在没有额外按钮的情况下实时应用。但是,正如我指定的,我有一个用于用户自由文本的输入字段,您是否建议添加隐藏的输入字段以保存复选框值? – 2015-02-12 06:01:49

+0

@ rob.m是的,一个单独的字段用于存储复选框值,可以稍后在服务器端或客户端与用户字段 – 2015-02-12 06:03:19

+0

合并我更改了js,然后添加了 2015-02-12 06:04:54

相关问题