2016-04-24 91 views
0

我有一個按鈕,可對檢查的行執行以下操作。我加入。加入(「」)除去,將出現從第二返回值的逗號起加入2結果

var getName = $("input:checkbox:checked").map(function() { 
return ($(this).parent().next().next().next().next().next().next().text()); 
}).get().join(''); 

var getNum = $("input:checkbox:checked").map(function() { 
return ($(this).parent().next().next().next().next().text()); 
}).get()join(''); 

alert(getName.concat(getNum)); 

輸出是當我檢查3行點擊按鈕如下:

名1
名稱2
NAME3
NUM1

NUM2

NUM3


當我字符串化的返回元件:

var getName = $("input:checkbox:checked").map(function() { 
return JSON.stringify($(this).parent().next().next().next().next().next().next().text()); 
}).get().join(''); 

var getNum = $("input:checkbox:checked").map(function() { 
return JSON.stringify($(this).parent().next().next().next().next().text()); 
}).get()join(''); 

alert(getName.concat(getNum));  

輸出如下:

「\ n名1」, 「\ n名稱2」, 「\ n NAME3」,「\ n NUM1 \ n 」個「 \ n Num2 \ n「」\ n Num3 \ n「


我怎樣才能得到這樣的輸出?

名1民1
NAME3民2
NAME3民3

回答

0

您可以嘗試加入兩個地圖調用一個,比如這個:

var getName = $("input:checkbox:checked").map(function() { 
return $(this).parent().next().next().next().next().next().next().text() 
    + ' ' + $(this).parent().next().next().next().next().text(); 
}).get().join(''); 

alert(getName); 

順便說一下,你爲什麼使用這麼多的「next()」,那麼用「id」或「class」屬性標記目標DOM元素呢?因爲現在看起來有點可怕> _ < |||

希望這可以幫助

+0

謝謝。有用。現在顯示Name1 Num1 Name2 Num2。任何想法如何刪除Name&Num之間的? –

+0

因此,如果我將第一個id命名爲gName,將第二個命名爲gNum,我該如何標記目標DOM元素? –

+0

1.刪除「」使用「替換」功能,例如:'$(this).parent()。text()。replace('','')',2.選擇DOM元素的使用ID在你的情況下,你需要選擇'$(this).parent()'的id爲'gName'的兄弟,嘗試'$(this).parent()。nextUntil(' #gName')' – baiyangcao