2

jQueryを使用してこれら2つのラジオボタンを検証するにはどうすればよいですか? 1 つのボタンをチェックする必要があります。

<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

あなたはこのようにそれを行うことができます、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
});

これらの2つの特定のボタンをチェックするコードは次のようになります。

$("input[type=radio][name=muuttuminen]").each(function() {
    // do the validation here
});
于 2012-08-09T15:11:18.473 に答える
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 に答える
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 に答える