我有一个包含多行的表,其中一行的单元格实现了一个jquery datepicker对象,我需要向我的php服务器类提交日期值(我已经能够)加上行ID值(我无法获得它)。
由于某种原因,行包含:“row_id”:$(this).closest('tr')。attr(),返回未定义的值。
这是使用的jquery脚本:
$.editable.addInputType('datepicker', {
element: function(settings, original) {
var input = jQuery('<input size=8 />');
settings.onblur = function(e) {};
input.datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function(dateText, inst) {
$.ajax({
type:"POST",
url:"editRecordDateSelector.php",
data: {"value": dateText,
"row_id": $(this).closest('tr').attr(),
},
});
},
onClose: function(dateText, inst) {
$.ajax({
type:"POST",
url:"editRecordDateSelector.php",
data: {"value": dateText,
"row_id": $(this).closest('tr').attr(),
},
});
}
});
input.datepicker('option', 'showAnim', 'slide');
jQuery(this).append(input);
return (input);
}
});
$('.editabledatepicker').editable(function(value, settings) {
return (value);
}, {
type: 'datepicker',
onblur: 'submit',
tooltip: "Click to edit...."
});
这是一个HTML代码,其中datepicker类包含在多行中:
<tbody>
<tr id="1">
<td id='rowId'>
1
</td>
<td>
<select name="custdrop" id="custdrop">
<option value=2>
Hemo
</option>
<option value=5>
Lexpertise
</option>
<option value=7>
MM
</option>
<option value=4>
Patronato
</option>
<option value=6>
Proovedora
</option>
<option value=8>
RG
</option>
<option value=1>
Rio
</option>
<option value=3>
Servicios
</option>
</td>
<td id='vals'>
webosadfadsfadfadsf
</td>
<td id='vals'>
yea
</td>
<td id ='datepickerval' class="editabledatepicker">
2013-10-29
</td>
<td>
<input type="checkbox" value ="sachk" id ="sachk">
</td>
<td>
<input type="checkbox" value ="scpchk">
</td>
<td>
<input type="checkbox" value ="mixchk">
</td>
<td>
<input type="checkbox" value ="depsachk">
</td>
<td id='vals'>
gfdgfdgfdgf
</td>
<td id='rowId' id = 'lineiteminactive'>
Closed
</td>
</tr>
<tr id="57">
<td id='rowId'>
2
</td>
<td>
<select name="custdrop" id="custdrop">
<option value=2>
Hemo
</option>
<option value=5>
Lexpertise
</option>
<option value=7>
MM
</option>
<option value=4>
Patronato
</option>
<option value=6>
Proovedora
</option>
<option value=8>
RG
</option>
<option value=1>
Rio
</option>
<option value=3>
Servicios
</option>
</td>
<td id='vals'>
</td>
<td id='vals'>
wqfasdfasdfo
</td>
<td id ='datepickerval' class="editabledatepicker">
2013-10-10
</td>
<td>
<input type="checkbox" value ="sachk" id ="sachk">
</td>
<td>
<input type="checkbox" value ="scpchk">
</td>
<td>
<input type="checkbox" value ="mixchk">
</td>
<td>
<input type="checkbox" value ="depsachk">
</td>
<td>
<input type="checkbox" value ="depscpchk">
</td>
<td id='rowId' id = 'lineitemactive' >
Active
</td>
</tr>
</tbody>
</table>
有人可以帮我吗?我会很感激的。
答案 0 :(得分:1)
可能是因为您的.attr()没有包含您要查找的属性吗?试试
"row_id": $(this).closest('tr').attr('id')