我正在处理一个表格。在表单上应用一些java脚本验证。我希望通过验证进行一处更改。我有一个公司名称的下拉列表。假设我有五家公司。
<select id="org_id">
<option value="1">ABC</option>
<option value="2">DEF</option>
<option value="3">GHI</option>
<option value="4">IJK</option>
<option value="5">LMN</option>
</select>
如果我想不验证表格,如果用户选择ABC
,如果用户将选择任何其他,那么只有验证应该适用于表格。
我的验证脚本:
var frmvalidator = new Validator("add_employee_frm");
frmvalidator.addValidation("employee_number","req","Please Enter Employee Number");
frmvalidator.addValidation("employee_name","req","Please Enter Employee Name");
frmvalidator.addValidation("employee_name","alphabetic_space","Please Enter Valid Employee Name");
我在验证脚本上尝试了if else条件。但它不起作用。
$(function () {
$("#org_id").change(function () {
var selectedValue = $(this).val();
alert(selectedValue);
});
});
if(selectedValue == 1)
{
return true;
}
elseif(selectedValue != 1)
{
var frmvalidator = new Validator("add_employee_frm");
frmvalidator.addValidation("employee_number","req","Please Enter Employee Number");
frmvalidator.addValidation("employee_name","req","Please Enter Employee Name");
frmvalidator.addValidation("employee_name","alphabetic_space","Please Enter Valid Employee Name");
return true;
}
这段代码对我不起作用。我从选定的价值中获取价值并将其推入if..else条件。如何实现这一目标。
据我所知,如果用户从下拉列表中选择了特定值,您需要绑定验证代码。这里的主要问题是您在文档中执行的第一个代码块,并在其外部休息,如下所示。
$(function(){
if($('#org_id').val() == 1){
var frmvalidator = new Validator("add_employee_frm");
frmvalidator.addValidation("employee_number", "req", "Please Enter Employee Number");
frmvalidator.addValidation("employee_name", "req", "Please Enter Employee Name");
frmvalidator.addValidation("employee_name", "alphabetic_space", "Please Enter Valid Employee Name");
}
});
你不需要onchange功能。只需计算下拉列表的值,并仅在if条件下进行比较。
if ($("#org_id").val() == 1) {
return true;
}
else{
var frmvalidator = new Validator("add_employee_frm");
frmvalidator.addValidation("employee_number", "req", "Please Enter Employee Number");
frmvalidator.addValidation("employee_name", "req", "Please Enter Employee Name");
frmvalidator.addValidation("employee_name", "alphabetic_space", "Please Enter Valid Employee Name");
return true;
}
并且要在代码中具体说明问题是变量的范围。与在onchange
中一样,变量selectedValue
的范围限定为其封闭函数,并且任何其他块都无法访问。
您好,您需要在onchange函数内添加if-else检查以获取每次下拉列表更改时的值。在您的情况下,您在更改后准备好是否已准备就绪,因为selectedValue将永远不会获得该值。
$(function () {
$("#org_id").change(function () {
var selectedValue = $(this).val();
alert(selectedValue);
if(selectedValue == 1)
{
return true;
}
elseif(selectedValue != 1)
{
var frmvalidator = new Validator("add_employee_frm");
frmvalidator.addValidation("employee_number","req","Please Enter Employee Number");
frmvalidator.addValidation("employee_name","req","Please Enter Employee Name");
frmvalidator.addValidation("employee_name","alphabetic_space","Please Enter Valid Employee Name");
return true;
}
});
});