3

各チェックボックスの値を取得し、ユーザーがボックスをチェックしない場合は別のページへの移動を中断する必要があります。

エラーがありますが、認識できません

$('#Submit').click( function() {

        if($('#Search').val() == "")
        {alert('please enter your domain without Extuntison');return false;}

        results.style.display = 'none';
        $('#results').html('');
        loading.style.display = 'inline';

        $.post('../domain_checker/process.php?domain=' + escape($('#Search').val()),{
        }, function(response){


            results.style.display = 'block';
            $('#results').html(unescape(response)); 
            loading.style.display = 'none';

            //$('#results').animate({height : '450px' }, 2000);

            results.style.height = '400px';
        });

        return false;
    });


       $(function(){
          $('#order_Now').click(function(){
             var count = $("[type='checkbox']:checked").length;
             var val = [];
             for(i=0;i<count;i++){
                $(':checkbox:checked').each(function(i){
                   val[i] = $(this).val();
                });
             }      
          });
       });

ajaxをロードすると、このhtmlページ

 <form action="ordedomain.php" name="formdomain" method="post" id="formdomain"  onclick="check_domain_checkBox()">

     <div id="results" style="width:450px;" align="left">



     </div> 
     </form>

このコードは、ページphpのajaxによってリロードされます

       <form action="ordedomain.php" name="formdomain" method="post" id="formdomain"  onclick="check_domain_checkBox()">

<input type="checkbox" value="a" id="arrDomain" name="arrDomain">a
<input type="checkbox" value="b" id="arrDomain" name="arrDomain">b
<input type="checkbox" value="c" id="arrDomain" name="arrDomain">c

        </form>
4

4 に答える 4

1

これらを試してください(正しいコード)

 var count = $("input[type='checkbox']:checked").length;

  $("input[type='checkbox']:checked").each(function(i){

http://api.jquery.com/checked-selector/を読む

于 2012-09-22T12:20:12.153 に答える
1

それは簡単です:

var vals = [];
$(":checkbox").each(function() {
    if (this.checked)
       vals.push(this.value);
});
var count = vals.length;

既に. for_each()

submitこれで、ハンドラーでカウントを簡単に取得できるようになりました0

また、チェックボックスが必要な場合は、送信ボタンを使用しないでください。複数回使用することはできませんid(一意である必要があります)。name代わりに属性を使用します。

<form action="ordedomain.php" name="formdomain" method="post" id="formdomain">
  <label><input type="checkbox" name="domain" value="1"> Order now 1</label>
  <label><input type="checkbox" name="domain" value="2"> Order now 2</label>
  <label><input type="checkbox" name="domain" value="3"> Order now 3</label>
  <label><input type="checkbox" name="domain" value="4"> Order now 5</label>
  <input type="text" id="search" name="search">
  <div id="results" style="display:none;"></div>
  <img id="loading" src="…" style="display:none;"></div>
</form>
// onDOMready
var form = $("#formdomain"),
    search = form.find("#search"),
    checkboxes = form.find(":checkbox"),
    results = form.find("#results"),
    loading = form.find("#loading");
form.submit(function(evt) {
    var sval = search.val(),
        checked = checkboxes.filter(":checked"),
        dvals = [];
    if (!sval) {
        alert("Please enter domain (without extension)");
    } else if (!checked.length) {
        alert("Please tick at least one domain extension");
    } else {
        checked.each(function() {
            dvals.push(this.value);
        });
        $.post('../domain_checker/process.php', {
            domain: sval,
            extensions: dvals
        }, function(resonse) {
            loading.hide();
            results.html(response).show();
        });
        loading.show();
        results.hide();
    }
    evt.preventDefault();
});
于 2012-09-22T12:26:09.750 に答える
0

あなたが提供したhtmlにチェックボックスが表示されず、4つの送信ボタンすべてに同じID値があり、間違っています。これが機能しない理由である可能性があります。また、jsコードを変更して、チェックされたチェックボックスの正しい数を取得することもできます

var vals = [];
$(":checkbox:checked").each(function() {
       vals.push($(this).val());
});
于 2012-09-22T12:33:39.670 に答える
0

あなたはやり遂げることができます.is(':checked')

そしてチェックを受ける

jquery

$("#test").click(function() {
var total_c = 0;
    $.each($("input[type=checkbox]:checked"), function (k, v){
    var val =parseFloat($(this).val());
    tot = parseFloat(total_c+ val);   
    })
        alert(total_c);
});

html

<input type="buttoN" id="test" value="click me"/>

よく学ぶ

  1. jqueryチェックボックスの値
  2. チェックされたチェックボックスの値を数える
于 2012-09-22T12:17:33.983 に答える