我有一组多个复选框,当我检查它们时,它们的标签文本需要在输入字段中以逗号分隔。但是,我不想在输入字段中显示这些值,因为它也用于搜索词。
目前,我可以使用按钮抓取复选框文本,将其发送到输入字段,如下所示:
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);
});
但是 A:我不应该有一个按钮但是一旦你检查了值(文本),就应该以逗号分隔输入到输入字段, 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
答案 0 :(得分: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);
});