如何使用从下拉列表中选择的值在jquery脚本中应用if-else条件?

如何使用从下拉列表中选择的值在jquery脚本中应用if-else条件?,jquery,validation,if-statement,dropdown,Jquery,Validation,If Statement,Dropdown,我正在写一张表格。在表单上应用一些java脚本验证。 我想要一个与我的验证更改。我有一个下拉列表,上面有一些公司的名字。假设我有五家公司 <select id="org_id"> <option value="1">ABC</option> <option value="2">DEF</option> <option value="3">GHI</option> <optio

我正在写一张表格。在表单上应用一些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> 
我在验证脚本中尝试了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条件。如何实现这一点。

您不需要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
的作用域是其封闭函数,任何其他块都无法访问。

据我所知,如果用户从下拉列表中选择了特定值,则需要绑定验证代码。这里的主要问题是,您在文档内部执行的第一块代码已经准备就绪,在文档外部执行的第一块代码如下所示

$(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-else check,以便在每次更改下拉列表时获取值。在您的情况下,您是在更改后声明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;
        }
    });
});

当问题是100%JS时,为什么用PHP标记这个?它给了我相同的结果。否则条件对任何类型都不起作用dropdown@amitsutar当这个if-else块正在执行时,您可以在ready上创建一次外部的Validator对象,然后在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;
        }
    });
});