Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 根据选择验证其他字段_Jquery_Asp.net Mvc 3_Jquery Validate - Fatal编程技术网

Jquery 根据选择验证其他字段

Jquery 根据选择验证其他字段,jquery,asp.net-mvc-3,jquery-validate,Jquery,Asp.net Mvc 3,Jquery Validate,我认为: @using(Html.BeginForm()) { <label> Condition Target </label> <input type="text" name="ConditionTarget1" id="ConditionTarget1"/> <input type="text" name="ConditionTarget2" id="ConditionTarget2"/> <br/>

我认为:

@using(Html.BeginForm())
{
    <label> Condition Target </label>
    <input type="text" name="ConditionTarget1" id="ConditionTarget1"/>
    <input type="text" name="ConditionTarget2" id="ConditionTarget2"/>
    <br/>

    <label> Condition Object </label>
    <select name="ConditionObject" id="ConditionObject">
        <option value="1"> Condition 1 </option>
        <option value="2"> Condition 2 </option>
    </select>
    <br/>

    <input type="submit"/>
}
我希望当conditionobject更改时,应该调用Validate server方法,并且根据结果conditiontarget文本字段必须是必需的(在这种情况下,如果选择了选项2)。我尝试了jQuery远程验证,但它验证select本身。你能帮我吗

 $('#ConditionObject').change(function(){
       $.ajax({
         type: "GET",
         url: "servercode.asp",
         data:this.val();
        success:function(data)
       {
         if(data==1)
        {
           $('#ConditionTarget1').addClass('required');//add required validation ,sample only
        }
      }
    });
 });
然后在验证检查期间,ConditionTarget1已获得任何验证

$('input:submit').click(function(){

 if($('#ConditionTarget1').hasClass('required'))
  {
     alert('oops validation required');
      return false;
   }
});

您真的需要调用服务器端方法吗? 试试这个:

$('#ConditionObject').on("change",function(){
    if($(this).val() == 1)
    {
        $('#ConditionTarget1').addClass("Required");
    }
    else
    {
        $('#ConditionTarget1').removeClass("Required");
    }
});
提交时:


是的,我必须调用服务器端方法。这是用控制器动作编写的更复杂的代码,我只是简化了
$('#ConditionObject').on("change",function(){
    if($(this).val() == 1)
    {
        $('#ConditionTarget1').addClass("Required");
    }
    else
    {
        $('#ConditionTarget1').removeClass("Required");
    }
});
$("#submitForm").on("click", function(event){
  if($('#ConditionTarget1').hasClass("Required"))
    event.preventDefault();
});