我正在尝试使用jQuery显示错误消息。出现错误时不显示。我从另一个问题中提取了这个,并对其进行了修改。
jQuery (包含在触发的if异常测试中)为:
$("#projectIDSelect").html("Please select a Project ID").addClass("error-msg"); // chained methodshtml为:
<p>
<label for="projectIDSelect">Project ID<span class="required">*</span></label>
<!--Place to load the Project Names into for selection -->
<select class="col-lg-3 col-md-3 col-sm-4 col-xs-6" style="height:30px; color:black;" id="projectIDSelect" name="projectIDSelect" required>
<option value="" disabled selected>Select a Project</option>
</select>
</p>此外,运行此命令后,下拉菜单不再包含选项(这些选项已动态加载)。
发布于 2019-04-30 12:32:18
#projectIDSelect是一个组合框或下拉框。在你的jquery中,当你使用.html更新内容时,它不会显示错误,因为它不可能在下拉框中显示html内容。
您需要添加单独的标识符来显示消息。
你的代码可以是:
<p>
<label for="projectIDSelect">Project ID<span class="required">*</span></label>
<!--Place to load the Project Names into for selection -->
<select class="col-lg-3 col-md-3 col-sm-4 col-xs-6" style="height:30px; color:black;" id="projectIDSelect" name="projectIDSelect" required>
<option value="" disabled selected>Select a Project</option>
</select>
<p id="projectIDSelectError"></p>
</p>你的jquery可以是:
$("#projectIDSelectError").html("Please select a Project ID").addClass("error-msg"); // chained methods发布于 2019-04-30 12:36:19
$(function() {
if (!$('#projectIDSelect option:selected').val()) {
$("#divError").html("Please select a Project ID").addClass("error-msg"); // chained methods
} else {
$("#divError").html("").removeClass("error-msg");
}
$("#projectIDSelect").change(function() {
if (!$('option:selected').val()) {
$("#divError").html("Please select a Project ID").addClass("error-msg"); // chained methods
} else {
$("#divError").html("").removeClass("error-msg");
}
});
});.error-msg {
color: red;
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
<label for="projectIDSelect">Project ID<span class="required">*</span></label>
<!--Place to load the Project Names into for selection -->
<select class="col-lg-3 col-md-3 col-sm-4 col-xs-6" style="height:30px; color:black;" id="projectIDSelect" name="projectIDSelect" required>
<option value="" selected>Select a Project</option>
<option value="1" >123</option>
<option value="2" >321</option>
</select>
</p>
<div id='divError'></div>
发布于 2019-04-30 12:40:23
您选择的是id in label而不是for选择器ref jQuery selector for the label of a checkbox这很有帮助
$("label[for='projectIDSelect']").html("Please select a Project ID").addClass("error-msg");.error-msg
{
color:red
}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<p>
<label for="projectIDSelect">Project ID<span class="required">*</span></label>
<!--Place to load the Project Names into for selection -->
<select class="col-lg-3 col-md-3 col-sm-4 col-xs-6" style="height:30px; color:black;" id="projectIDSelect" name="projectIDSelect" required>
<option value="" disabled selected>Select a Project</option>
</select>
</p>
https://stackoverflow.com/questions/55913980
复制相似问题