【发布时间】:2016-10-24 09:29:58
【问题描述】:
我的网页中有这段代码,它在每行中放置了一个带有下拉列表的“n”行。只有当所有下拉菜单都包含一个值(即)即使一个下拉菜单为空时,按钮也不应该启用,是否有办法启用提交按钮。另外,我希望在第一次单击后禁用提交按钮。
我尝试了以下代码,但不起作用。
$rowIndex = 0;
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
<form>
<div>
<select name = error_type id='error_type$rowIndex' class='picker'>
<option disabled selected value> -- select an option -- </option>
<option value=2_Stage_Error>2_Stage_Error</option>
<option value=BG_Error>BG_Error</option>
</select>
</div>
$rowIndex++;
}
<input type='submit' value='SUBMIT' id='submit' onclick=report_submit()disabled
= true />
</form>
JS
<script type= "text/javascript">
$(function() {
$('.picker').on('change', function() {
var $sels = $('.picker option:selected[value=""]');
$("#submit").attr("disabled", $sels.length > 0);
}).change();
});
</script>
【问题讨论】:
-
首先,用
jQuery.prop代替attr -
您是否故意将您的 while 循环放在表单之外?
-
@NewbeeDev 是的。我正在根据某些过滤器从数据库中提取数据,我会通过下拉列表添加一些数据并将其插入另一个表中
-
@Rayon 感谢您的提琴,但是该代码适用于正常的单独下拉菜单,当我将类作为
标签: javascript html