我正在尝试对wp_list_table
中的wordpress
进行内联编辑,但我遇到了一堵砖墙。
问题是每个元素/ td是由2类列示例组成的:
<td class="name column-name" contenteditable="true">
这不是我要进行内联编辑的原因。因此,我转向了复选框,而不是它们的构建方式:
<th class="check-column" scope="row">
<input type="checkbox" value="1976" name="movie[]">
现在值是我的表的唯一ID,这是我内联编辑所需要的,但我不知道如何正确存储值,因为我有30多行,但必须处理类。
我得到了这个,
var id_val = $("input[name='movie[]']:checkbox").val();
但它没用,因为它总会得到第一行的id。
编辑: HTML代码:
<tr>
<th class="check-column" scope="row">
<input type="checkbox" value="1976" name="movie[]">
</th>
<td class="name column-name" contenteditable="true">Alexander Lausten</td>
<td class="datec column-datec" contenteditable="true">2015-06-09</td>
<td class="start column-start" contenteditable="true">12:00:00</td>
<td class="slut column-slut" contenteditable="true">23:00:00</td>
<td class="pause column-pause" contenteditable="true">0.50</td>
<td class="egenb column-egenb" contenteditable="true">130.00</td>
<td class="betaling column-betaling" contenteditable="true">3076.60</td>
</tr>
这是表格中每一行的标记。
编辑: 我需要一些单独输出我桌子上的复选框值。 例如:如果我按下第2行的名称列,那么我需要它来获取第2行复选框上的值,而不必选中该框
这最终成了我的解决方案。
首先,我使用此代码为每个tr添加了一个唯一的ID $(function(){ $('。wp-list-table tr')。each(function(i){
$(this).attr('id', 'row'+(i-1));
i++;
});
然后我用这个
抓住了 var trid;
$('.wp-list-table tr').click(function() {
trid = $(this).attr('id');
});
然后我用这个抓住复选框的值:
var id = $( "tr#" + trid + " th.check-column input[name='movie[]']:checkbox").val();
答案 0 :(得分:0)
如果我理解你的问题而不是你需要这样的东西:
$("input[name='movie[]']:checkbox").click( function() {
console.log($(this).val());
});
演示小提琴:http://jsfiddle.net/ddan/7z8a88yt/1/
根据您的评论查看更新的JSFiddle:http://jsfiddle.net/7z8a88yt/3/
答案 1 :(得分:0)
使用name =&#34; movie&#34;
<tr>
<th class="check-column" scope="row">
<input type="checkbox" value="1976" name="movie">
</th>
<td class="name column-name" contenteditable="true">Alexander Lausten</td>
<td class="datec column-datec" contenteditable="true">2015-06-09</td>
<td class="start column-start" contenteditable="true">12:00:00</td>
<td class="slut column-slut" contenteditable="true">23:00:00</td>
<td class="pause column-pause" contenteditable="true">0.50</td>
<td class="egenb column-egenb" contenteditable="true">130.00</td>
<td class="betaling column-betaling" contenteditable="true">3076.60</td>
</tr>
尝试使用此方法获取数组中的所有ID
var ids=[];
$("input[name='movie']").each(function(){
ids.push($(this).val());
});
使所有字段都可编辑
$("input[name='movie']").each(function(){
$(this).click(function(){
var row=$(this).parent().parent();
if($(this).is(':checked')){
row.find('[contenteditable="true"]').each(function(){
var inputFld=$('<input type="text" />');
inputFld.val($(this).text());
$(this).html(inputFld);
});
}else{
row.find('[contenteditable="true"]').each(function(){
var val=$(this).find('input').val();
$(this).html(val);
});
}
})
});