我有一个模态窗口,该窗口弹出并在表中显示供应商列表。每行都有一个"选择"按钮,该按钮可以从该行中选择数据,然后使用TD的值更新父页面上的某些表单输入字段。
这可以正常工作,直到我首先使用数据表搜索或列进行排序。
如果我搜索或排序此表,然后使用"选择"按钮,则未分配数据。
再次工作正常,只有在我使用内置数据表搜索/首先进行搜索或排序时,它才会破裂。
$(document).ready(function () {
$(".select-vendor").click(function () {
var $row = $(this).closest("tr"); // Find the row
var $tds = $row.find("td");
console.log($row);
$.each($tds, function () {
document.forms["myForm"]["vendNameAddr"].value = $row.find('#vendNameAddrSearch').val();
document.forms["myForm"]["vendPhone"].value = $row.find('#vendPhoneSearch').val();
document.forms["myForm"]["vendEmail"].value = $row.find('#vendEmailSearch').val();
});
});
});
echo '<tr><td><input type="hidden" name="vendNameAddrSearch" id="vendNameAddrSearch" value="' . $vendorinfo . '"><input type="hidden" name="vendPhoneSearch" id="vendPhoneSearch" value="' . $res->phonenumber . '"><input type="hidden" name="vendEmailSearch" id="vendEmailSearch" value="' . $res->emailaddress . '"><button type="button" class="select-vendor" onclick="document.getElementById('vendorModal').style.display='none'">Select</button></td><td>' . $res->vendorname . '</td><td>' . $res->address1 . '</td><td>' . $res->address2 . '</td><td>' . $res->city . '</td><td>' . $res->state . '</td><td>' . $res->zip . '</td><td>' . $res->country . '</td></tr>';
您可能已经重复了ID。将所有ID更改为课程,并使用您启动的相对地址
$(".select-vendor").on("click", function() {
$('#vendorModal').hide();
var $row = $(this).closest("tr"); // Find the row
$row.find(".vendNameAddr").val($row.find('.vendNameAddrSearch').val());
$row.find(".vendPhone").val($row.find('.vendPhoneSearch').val());
$row.find(".vendEmail").val($row.find('.vendEmailSearch').val());
});
<tr>
<td><input type="hidden" name="vendNameAddrSearch" class="vendNameAddrSearch" value="$vendorinfo">
<input type="hidden" name="vendPhoneSearch" class="vendPhoneSearch" value="$res-phonenumber">
<input type="hidden" name="vendEmailSearch" class="vendEmailSearch" value="$res-emailaddress">
<button type="button" class="select-vendor">Select</button></td>
<td>$res-vendorname</td>
<td>$res-address1</td>
<td>$res-address2</td>
<td>$res-city</td>
<td>$res-state</td>
<td>$res-zip</td>
<td>$res-country</td>
</tr>
弄清楚了问题。一旦我用:
包装了OnClick方法" fndrawcallback":function(osettings){}
现在,它在每次重新绘制后获取新的行数据。