jQuery Validation Plugin Checkbox errorPlacement

szavazat
1

Van egy csoport jelölőnégyzetet, hogy mind ugyanazt a nevet. Mindannyian különböző értékeket. Ők is csak egy része a formában. Nem teszik ki a teljes űrlapot. Azt akarjuk, hogy a négyzeteket megjeleníteni a hiba az utolsó négyzetet a csoportnak.

ez lehet tenni valamit, mint ez a jQuery?

$(#myform).validate({
  errorPlacement: function(error, element) {
     var checkboxes = $(#checkboxes);
     if(checkboxes.contains(element))
        label.insertAfter(checkboxes[checkboxes.length-1]);
   },
   debug:true
 })

Honnan megy körülbelül ezt?

Köszönöm,
Ian McCullough

A kérdést 06/07/2009 21:10
a forrás felhasználó
Más nyelveken...                            


4 válasz

szavazat
0

Nem sikerült csak csináld

if(checkboxes.contains(element)) {
  checkboxes.after(label);
}
Válaszolt 06/07/2009 21:43
a forrás felhasználó

szavazat
0

Mi a változó „címke” csinál a kódot?

Amennyiben nem használja a „hiba” változó?

error.insertAfter(checkboxes[checkboxes.length-1]);
Válaszolt 06/07/2009 21:49
a forrás felhasználó

szavazat
2

Tisztában vagyok azzal, hogy ez egy régebbi kérdés, de szükségem volt hasonló funkcionalitást formában és megoldotta.

JQuery 1.4.2

Tehát adott az alábbi űrlapot.

<form id="checkForm" method="get" action="">
<ul id="checkboxes">
    <li><input type="checkbox" name="checkOne" id="checkOne" value="1" /></li>
    <li><input type="checkbox" name="checkTwo" id="checkTwo" value="2" /></li>
    <li><input type="checkbox" name="checkThree" id="checkThree" value="3" /></li>
</ul>
<input class="submit" type="submit" value="Submit"/>

Akkor tegye a következőket

$("#checkForm").validate({
    rules: {
        checkOne: "required",
        checkTwo: "required",
        checkThree: "required"
    },
    errorPlacement: function(error, element) {
        if ($("#checkboxes").has(element).size() > 0) {
            error.insertAfter($("#checkboxes input:checkbox:last"));
        } else {
            error.insertAfter(element);
        }
    }
});
Válaszolt 14/05/2010 16:14
a forrás felhasználó

szavazat
1

Itt egy általános megoldás, hogy működni fog az összes négyzetet az oldalon. Ez beszúrni egy hibaüzenet az utolsó négyzetet a csoport.

$('form').validate({
    rules: {
        checkbox_group_1: {
            required: true
        },
        checkbox_group_2: {
            required: true,
        }
    },
    errorPlacement: function(error, element) {
        if (element.is(':checkbox'))
            error.insertAfter($('input[name=' + element.attr('name') + ']').last());
        else
            error.insertAfter(element);
    }
});
Válaszolt 18/03/2014 23:06
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more