我有一个发票表单,其中包含一个由3列组成的表格:kode_barang(ItemID),nama_barang(ItemName)和数量(数量)。假设它只有2行:如果从下拉菜单中选择任何选项
<form name="invoice" action="insert3.php" method="post">
<table id="theTable" border="1">
<thead>
<tr>
<th> Kode Barang </th>
<th> Nama Barang </th>
<th> Qty </th>
</tr>
</thead>
<tbody>
<tr>
<td><select name="kode_barang[]" id="kode_barang0" required /> </td>
<td><input type="text" name="nama_barang[]" id="nama_barang0" required /></td>
<td><input type="text" name='qty[]' required /></td>
</tr>
<tr>
<td><select name="kode_barang[]" id="kode_barang1" /> </td>
<td><input type="text" name="nama_barang[]" id="nama_barang1" /></td>
<td><input type="text" name='qty[]' /></td>
</tr>
</tbody>
</table>
ItemID是一个下拉菜单,它的选项可以从另一个表中动态填充。第一行中的所有字段都是必需的,因为如果它是空的,它将不是新的发票。
但我遇到了第二行的问题。如果用户选择一个项目,那么他们可以提交表格,如果只填写ItemName
和Qty
。我搜索了一下,发现了几个类似的问题,但是没有一个答案适用于我,或者我可能只是不理解它。这是我的非工作尝试:
$(document).ready(function() {
var $code = $('#kode_barang1'),
$qty = $('#qty1'),
$price = $('#harga_beli1');
var validator = $('#faktur').validate({
debug: true,
rules: {
kode_barang[]: {
required: function (element) {
return $qty.val().length > 0 || $price.val().length > 0;
}
},
qty[]: {
required: function (element) {
return $code.val().length > 0 || $price.val().length > 0;
}
},
harga_beli[]: {
required: function (element) {
return $code.val().length > 0 || $qty.val().length > 0;
},
/* verify if confirmation is ok */
equalTo: $np
}
},
messages: {}
});
});
有没有人请帮助我呢?谢谢。
与他们特殊字符的对象属性名必须用引号引起来 – charlietfl
@charlietfl仍然没有运气:( – David
所以,要考虑一个简单的例子,你的问题是:如果**下拉是“是”,你需要另一个文本字段是强制性的,否则不是。**我是对吗? –