2

如何使用 jQuery 验证这两个单选按钮?应检查一个按钮:

<input type="radio" name="muuttuminen" value="Kylla" /> Kyllä
<input type="radio" name="muuttuminen" value="Ei"/>Ei

我知道如何验证常规文本输入字段,但我想知道这个。

     $(function() {
        $("#submit").click(function(){
 //validation part
          var dataString = $('#service-test').serialize();
          //alert (dataString);return false;
         $.ajax({
        type: "POST",
        url: "../quiz.php",
        data: dataString,
        dataType: "text",
        error: function(){ alert ('Nyt jotakin meni kyllä pahemman kerran pieleen. Yritä uudelleen?');
     },
        success: 
        function(data) {
     $("#resultcontainer").html(data);
     $("#service-test").hide();

       }

      });
      return false;

        });
      });               
4

5 回答 5

5

您可以使用:checked选择器和length属性:

    $(".submit").click(function() {
       if ($('input[name="muuttuminen"]:checked').length == 0) {
         alert('please...');
         return false; } 
          else {
          $.ajax({
           //...
         })
       }
       return false;
    }); 
于 2012-08-09T15:04:21.263 回答
1

你可以像下面给出的那样做。

现场演示

$(function() {
    $("#submit").click(function() {     
      if($('input[type=radio][name=muuttuminen]:checked').length == 0)
      {
         alert("Please select atleast one");
         return false;
      }
      else
      {
          alert("radio button selected value: ");
      }      
    });
});
于 2012-08-09T15:03:15.263 回答
1

你可以这样做,jsFiddle示例

$(function() {
    $("input[type=submit]").click(function() {
        var atLeastOneChecked = false;

        $("input[type=radio]").each(function() {
            if ($(this).attr("checked") == "checked") {
                atLeastOneChecked = true;
            }
        });

        if (!atLeastOneChecked) {
            $("#checked").text("Check one");
        } else {
            $("#checked").text("One is checked");
        }
    });
});​

这是一个通用示例,它将检查页面上的所有单选按钮,您可能不希望这样做,因此可能值得将您的单选按钮放在一个组中并以这种方式检查该组:

$("#inputgroup").find("input[type=radio]").each(function() {
    // do the validation here
});

检查这两个特定按钮的代码是:

$("input[type=radio][name=muuttuminen]").each(function() {
    // do the validation here
});
于 2012-08-09T15:11:18.473 回答
0

您的代码非常不完整,但类似于

var valid = false;

$('#yourForm').find(':input:radio').each(function(){
    if($(this).prop('checked'))
        valid = true;
});

if(!valid)
    return false;
于 2012-08-09T15:04:04.863 回答
0

您可以使用选中的伪类。这是您可能用于表单提交的小提琴。 http://jsfiddle.net/WhPcj/

于 2012-08-09T15:06:46.893 回答