jQuery Ověření Plugin Checkbox errorPlacement

hlasů
1

Mám skupinu zaškrtávacích políček, že všechny mají stejný název. Ti všichni mají různé hodnoty. Jsou to jen část formuláře. Nedělají se celý formulář. Chci políčka zobrazovat jejich chyba po posledním políčku této skupiny.

je možné udělat něco takového v jQuery?

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

Jak bych mohl jít asi dělá?

Díky,
Ian McCullough

Položena 06/07/2009 v 21:10
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
0

Nemohl prostě dělat

if(checkboxes.contains(element)) {
  checkboxes.after(label);
}
Odpovězeno 06/07/2009 v 21:43
zdroj uživatelem

hlasů
0

Jaký je proměnná ‚etiketou‘ se dělá v kódu?

Neměl byste použít ‚chyba‘ proměnnou?

error.insertAfter(checkboxes[checkboxes.length-1]);
Odpovězeno 06/07/2009 v 21:49
zdroj uživatelem

hlasů
2

Uvědomuji si, že se jedná o starší otázka, ale potřeboval jsem podobné funkce na formuláři a vyřešit jej.

Pomocí jQuery 1.4.2

Takže vzhledem k tomu, následující formulář.

<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"/>

Pak můžete udělat následující

$("#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);
        }
    }
});
Odpovězeno 14/05/2010 v 16:14
zdroj uživatelem

hlasů
1

Zde je generická řešení, které bude pracovat se všemi rámečky na stránce. Bude vložit chybové hlášení po posledním políčku skupiny.

$('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);
    }
});
Odpovězeno 18/03/2014 v 23:06
zdroj uživatelem

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