使用jQuery,我想选择一些数据并用分隔符划分对。
我的代码:
var checkboxes = [];
$('input[name="CheckBox3"]:checked,select[name=ansprechpartner]').each(function() {
checkboxes.push($(this).val());
checkboxes.push(":");
});
代码输出:
1998,:,1292,2006,:,1128,2630,:,3030,:
所需的代码输出:
1998:1292,2006:1128,2630:3030
示例HTML
<tr class="Row">
<td style="TEXT-ALIGN: right">
<input type="checkbox" id="kontakteCheckBox3" class="idRow" value="2006" name="CheckBox3"> </td>
<select id="ansprechpartner" class="ansprechpartner" name="ansprechpartner">
<option selected value="">-</option>
<OPTION VALUE="1292">Abels</OPTION>
<OPTION VALUE="1295">Delta</OPTION>
<OPTION VALUE="1298">Extra</OPTION>
</select>
</td>
</tr>
<tr class="Row">
<td style="TEXT-ALIGN: right">
<input type="checkbox" id="kontakteCheckBox3" class="idRow" value="2008" name="CheckBox3"> </td>
<select id="ansprechpartner" class="ansprechpartner" name="ansprechpartner">
<option selected value="">-</option>
<OPTION VALUE="1392">Abels</OPTION>
<OPTION VALUE="1495">Delta</OPTION>
<OPTION VALUE="1198">Extra</OPTION>
</select>
</td>
</tr>
我不知道如何修复它。
谢谢
答案 0 :(得分:0)
使用
var checkboxes = $('input[name="CheckBox3"]:checked').map(function () {
return this.value + ':' + $(this).closest('tr').find('select').val();
}).get();
var str = checkboxes.join(':')
答案 1 :(得分:0)
修订解决方案
基于提供的html,遍历父行
var output=$('input[name="CheckBox3"]:checked').map(function(){
var selVal=$(this).closest('tr').find('select[name=ansprechpartner]').val() | 0;
return this.value +':'+ selVal;
}).get().join()
的 DEMO 强>