【发布时间】:2014-11-15 11:25:34
【问题描述】:
我有一些循环行,每行都有一个复选框。在每一行中都有一个下拉列表,我希望在选中该行中的复选框时将其设置为required。
MARK NAME QUANTITY
---------------------------------------------------
[] inputForName1 Choose => 1,2,3,4,5
---------------------------------------------------
[] inputForName2 Choose => 1,2,3,4,5
---------------------------------------------------
[] inputForName3 Choose => 1,2,3,4,5
---------------------------------------------------
[] inputForName4 Choose => 1,2,3,4,5
---------------------------------------------------
[] inputForName5 Choose => 1,2,3,4,5
---------------------------------------------------
[SUBMIT]
(这里[]是一个复选框,Choose =>是一个下拉选择)
echo' <tr>
<td><input name="checkbox[]" type="checkbox" value="'.$i++.'" /></td>
<td><input name="items[]" type="text" value="'.$obj->items.'"></td>
echo' <td><select name="esquantity[]" required >
<option value="" >Choose Quantity</option>';
for ($q=1; $q <= $obj->quantity; $q++) {
echo' <option value="'.$q.'"> '.$q.' </option>'; }
echo' </select></td>';
echo'</tr>';
}
}
?>
<input type="submit" name="Submit" value="Submit">
</form>
</table>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
foreach($_POST['checkbox'] as $i) {
$product_name=$_POST['items'][$i];
$product_quan=$_POST['esquantity'][$i];
mysql_query("INSERT INTO estockClaims (items,
esquantity)
VALUES ('$product_name',
'$product_quan')");
}
}
?>
问题是当我只选中两个复选框并提交它们时,它要求我选择数量列中的所有下拉列表。
Jquery 草图
<script type="text/javascript">
$(document).ready(function(){
$('input[type="checkbox"]').on('change', function(e)){
// var thisCheckbox = $(this);
var thisCheckbox = $('select[name="esquantity"]');
var thisRow = thisCheckbox.closest('tr');
if($(this.is(':checked')) {
}
.attr('required'));
}
}
</script>
【问题讨论】:
-
我不喜欢
php,但我没有看到您检查复选框并将特定数量下拉菜单设置为required的任何地方。我唯一看到的是,对于每个添加的对象,您将数量字段设置为required。 -
是的,这就是问题所在。我想要的是只要它被选中就让它成为必需的。有什么想法吗?
-
相反,我不太擅长 Jquery。据我所知,我可以通过在检查时设置 required 属性来做到这一点。也许您可以为此在 jquery 脚本中帮助我?
-
如果你能添加一个Jsfiddle.net 的例子让我编辑就更好了
标签: javascript php jquery