我正在处理一个表,我希望只有在多个输入非空时才可以使用“添加行”链接。我已经对此进行了调整(禁用提交按钮,直到填写输入字段)但是在我的情况下,我的日期选择器(即 jQuery UI 日期选择器)输入即使为空也具有价值。我在某处读到,无论是否指定了值,日期选择器都会自动发布一个值。这违背了我的功能的目的。
这是我的标记:
<tbody>
<tr>
<td class="date"><input class="datepicker" name="date-01" value="" /></td>
<td class="hours"><input class="hours" name="hours-01" value="" /></td>
<td class="rate"><input class="rate" name="rate-01" value="60.00" /></td>
<td class="date-total"><input class="date-total" name="date-total-01" value="" /></td>
<td class="add-delete-row">
<a href="#" class="delete-row" title="Delete row">Delete</a>
<a href="#" class="add-row" title="Add a row">Add Row</a>
</td>
</tr>
</tbody>
...和相关的js:
// 1. Datepicker options/format:
$('.datepicker').datepicker( {
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
}); // END Datepicker
checkRow();
$('.hours-table').on('blur', 'input', checkRow); // same results using either keyup or change; apparently empty datepicker input has a value
});
function checkRow() {
//if ( $('input.datepicker').not(':empty') &&
if ( $('input.datepicker').val().length > 0 &&
$('input.hours').val().length > 0 &&
$('input.rate').val().length > 0 &&
$('input.date-total').val().length > 0 ) {
$('.add-row').show();
alert ($('input.datepicker').val());
}
else {
$('.add-row').hide();
}
}
我设置了一个 jsfiddle (jsfiddle http://jsfiddle.net/sheckyvansheck/4HPfe/27/ ),但无法让 datepicker 工作,这当然使它一文不值。
任何建议将不胜感激。
干杯,svs