2015-02-12 81 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

相關問題