2011-05-19 129 views
2

我是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'應該被添加到文本框的方式,以便文本框的值將是'yyz abc hijkl defg'

我遇到的問題是我不確定我是否正在調用正確的事件也。

還有一個方法,我已經記, $(文件)。點擊(函數(E){ $( 「productr-下拉。 」)隱藏(); $ (「 productr-下拉菜單。」 ).each([「input ='checkbox':checked」],function(e){add35}

哪一個更好?

什麼語法只選擇下拉列表中選中的值?

+1

你有複選框*內*下拉列表? – 2011-05-19 15:02:00

+0

@SimeVidas:是的,[這是可能的](http://aleris.wordpress.com/2009/04/11/new-version-of-jquery-dropdown-checkbox-list-plugin/),並可能在一些有用的案例。:) – 2011-05-19 15:05:43

+1

我們可以請你看到你的html也 – mcgrailm 2011-05-19 15:05:52

回答

1

來自您的HTML會很友善。 我improvized這裏:

JSFIDDLE demo

我還是不太清楚什麼是你想實現BTW。

+0

問題在於,html會根據xml文件中的配置而動態生成,因此很難將其發佈到此處。感謝您的幫助,我真的很感激。 :) – Aniket 2011-05-19 18:13:40

+0

不客氣! – 2011-05-19 23:14:53

0

你不能做一些像這樣:

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

+0

主要問題是我不知道調用正確的語法,它會在每個複選框的值和點擊時增加值。還有一個選項可以添加每個複選框的值,在用戶完成後選擇值並單擊文檔上的任何位置隱藏下拉菜單 – Aniket 2011-05-19 15:17:23

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); 
+0

我剛剛使用螢火蟲,事件$(「。productr -dropdown li input [type ='checkbox']「)。click(function(e){0} {0} {{0}}似乎沒有被調用,所以我的問題是如果我在這裏調用正確的事件? – Aniket 2011-05-19 15:20:18

+0

你需要問一個新的問題,我已經回答了你的原始問題。 – 2011-05-19 19:17:07

相關問題