如何在asp.net c#中使用jquery验证改变多选板的颜色



我正在尝试,

if ($(this).hasClass('select2') == true && $(this).hasClass('required') == true) {
var idName = $(this)[0].id;
var e = document.getElementById(idName);
var strUser = e.options[e.selectedIndex].value;
if (strUser == 0) {
alert("Please select a user");
document.getElementById(idName).style.borderColor = "red";
document.getElementById(idName).style.borderWidth = "1px";
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="ddltest1" class="form-control select2 required" multiple="multiple" tabindex="2">
<option value="0">--select--</option>
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
<option value="4">test4</option>
</select>

如何改变选择下拉框的边框颜色?它不工作…

你混合了jquery和javascript。修改一些代码以绕过

var idName = $(this)[0].id;变为var idName = $('#ddltest1').attr('id');

$(this)为当前标签,但您没有显示正在处理的事件

var strUser = e.options[e.selectedIndex].value;更改为$('#ddltest1').val()以获得选定值。

$(document).ready(function(){
if ($('#ddltest1').hasClass('select2') == true && $('#ddltest1').hasClass('required') == true) {

var idName = $('#ddltest1').attr('id');

var e = document.getElementById(idName);
var strUser = $('#ddltest1').val();
if (strUser == 0) {
alert("Please select a user");
document.getElementById(idName).style.borderColor = "red";
document.getElementById(idName).style.borderWidth = "1px";
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="ddltest1" class="form-control select2 required" multiple="multiple" tabindex="2">
<option value="0">--select--</option>
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
<option value="4">test4</option>
</select>

最新更新