*请帮帮我,我只是个初学者
我在这个foreach块上面有输入字段,但这是我关注的焦点。
foreach ($display_eqp as $value){
$eqpid = $value['Eqp_ID'];
$available = $value['OnHand'];
echo "<tr>";
echo "<td class='center'><input type='checkbox' class='checkbox'
name='request-equipment[". $eqpid ."]' id='". $eqpid ."-checkbox'
value=" . $eqpid . " onchange='enableQtyTxtbox(this.value)' disabled></td>";
echo "<td class='center'><input type='text' class='form-control'
style='width: 60px;' name='available-" . $eqpid . "' id='available-" . $eqpid . "'
value=" . $available . " readonly></td>";
echo "<td class='center'><input type='text' placeholder='...' class='form-control'
style='width: 60px;' onchange='checkQty(this.value, ". $eqpid .")'
name='request-quantity[". $eqpid ."]' id='". $eqpid ."' disabled='true'/></td>";
echo "</tr>";
我有两个javascripts。
第一个是这个,当单个复选框的选中状态改变时,它将启用/禁用并清除相应的文本框,同时启用/禁用提交按钮。这是有效的,即只针对个人,这是通过勾选复选框触发的。
function enableQtyTxtbox(val) {
var checkbox = document.getElementById(val + "-checkbox");
var textbox = document.getElementById(val);
var submitbtn = $("input[type='submit']");
textbox.disabled = !(checkbox.checked);
if (checkbox.checked) {
submitbtn.attr("disabled", true);
}
else{
textbox.value = "";
}
}
现在我关心的是第二个剧本。
function checkValue(id){
var value = document.getElementById(id).value;
var checkboxes = $("input[type='checkbox']");
// this does not work: var textbox= $("input[name='request-quantity[]']"); ????
if (value == "") {
checkboxes.attr("disabled", true); //this works
checkboxes.checked = false; // this does not work, please if you could answer this one
// for me also, it would be a big help.
// clear textbox
// disable textbox
}
else{
checkGroup();
}
}
我想在这里做的是获取所有名为request quantity的文本框(这是一个具有指定索引的数组),并像第一个脚本一样清除和禁用它。但我不知道如何访问元素。
最佳答案
$('input[name^="request-quantity"]')
是用于获取名称以“请求数量”开头的项的选择器。
Attribute Starts With
Other attribute Selectors
关于javascript - 如何获得具有分配了索引值的数组名称的输入元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27969709/