2 回答
TA贡献1828条经验 获得超3个赞
我建议像这样禁用它:
如果选择输入等于“Bags”
选择最接近的“项目名称”输入并将其隐藏
根据你的代码
let restricts = ["bags", "kg"];
function hideQuantity(e) {
if (restricts.indexOf(e.target.value) > -1) {
e.target.closest("tr").querySelector(".item_quantity").setAttribute("disabled", "disabled");
} else {
e.target.closest("tr").querySelector(".item_quantity").removeAttribute("disabled", "disabled");
}
}
$(document).ready(function () {
$(document).on('click', '.add', function () {
var html = '';
html += '<tr>';
html += '<td><select onclick="hideQuantity(event)" name="item_unit[]" class="form-control item_unit">';
html += '<option value="">Select Unit</option><option value="bags">Bags</option><option value="inch">Inch</option><option value="kg">Kg</option><?php echo numopt(); ?>';
html += '</select></td>';
html += '<td><input type="text" name="item_name[]"" class="form-control item_name" /></td>';
html += '<td><input type="text" name="item_quantity[]"" class="form-control item_quantity" /></td>';
html += '<td><button type="button" name="remove" class="btn btn-danger btn-sm remove"><span class="glyphicon glyphicon-minus"></span></button></td></tr>';
$('#item_table').append(html);
});
...
更多解释:
首先,我添加了一些静态数据用于测试:
html += '<option value="">Select Unit</option><option value="bags">Bags</option><option value="inch">Inch</option><option value="kg">Kg</option><?php echo numopt(); ?>';
其次,创建一个restricts数组。item_unit该数组保存您想要隐藏输入的位置的值item_quantity:
let restricts = ["bags", "kg"]; // add as many as you want
第三,我创建了函数,该函数的目的是如果选择的输入值与数组的任何其他值匹配,hideQuantity则隐藏item_quantity输入:item_unitrestricts
function hideQuantity(e) {
if (restricts.indexOf(e.target.value) > -1) {
e.target.closest("tr").querySelector(".item_quantity").setAttribute("disabled", "disabled");
} else {
e.target.closest("tr").querySelector(".item_quantity").removeAttribute("disabled", "disabled");
}
}
最后,hideQuantity为每个item_unit选择输入添加函数:
html += '<td><select onclick="hideQuantity(event)" name="item_unit[]" class="form-control item_unit">';
添加回答
举报