Versio

jquery selector loop

Overzicht Reageren

Jonas vermeulen

jonas vermeulen

06/02/2012 15:14:28
Quote Anchor link
hoi,

ik wil een string maken van verschillende input velden die verdeeld zijn in div's. van het volgende formaat (divnr + code + inputveldnr = value van inputveld)
alleen lukken de loops niet,

kan iemand helpen? alvast bedankt
Jonas
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
var params = "";
        $.each($('.inputfields'), function(k, val){
            $(this).each($('input'), function(i,val){
                params += k +'code'+i+'=';
            });
        });
?>



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
<div class="inputfields">
<
input maxlength="1" class="krc" id="krc1" name="krc1" type="text" /><input maxlength="1" class="krc" id="krc2" name="krc2" type="text" />     <input maxlength="1" class="krc" id="krc3" name="krc3" type="text" /><input maxlength="1" class="krc" id="krc4" name="krc4" type="text" />
<
/div>
<
div class="inputfields">
<
input maxlength="1" class="krc" id="krc1" name="krc1" type="text" /><input maxlength="1" class="krc" id="krc2" name="krc2" type="text" />     <input maxlength="1" class="krc" id="krc3" name="krc3" type="text" /><input maxlength="1" class="krc" id="krc4" name="krc4" type="text" />
<
/div>
<
div class="inputfields">
<
input maxlength="1" class="krc" id="krc1" name="krc1" type="text" /><input maxlength="1" class="krc" id="krc2" name="krc2" type="text" />     <input maxlength="1" class="krc" id="krc3" name="krc3" type="text" /><input maxlength="1" class="krc" id="krc4" name="krc4" type="text" />
<
/div>?>
 
PHP hulp

PHP hulp

25/05/2012 01:13:31
Gesponsorde koppelingen:
 
Kris Peeters

Kris Peeters

06/02/2012 16:51:05
Quote Anchor link
Nee, sorry, ik begrijp niet precies wat je probeert te bereiken. Kan je dat nog eens uitleggen?
Geef eens een voorbeeld van die string (of een deel er van) die je wil maken.


Wat ik wel kan zeggen:
- je hebt nu verschillende elementen met de zelfde id. Dat mag niet. Een id mag van alles zijn ... maar moet wel uniek zijn.

- Variabelen zijn enkel ter beschikking binnen de functie.

bv.
params += k +'code'+i+'=';

De variabele i heb je. De variabele k komt van een andere functie en kun je dus daar niet gebruiken.
 
Jonas vermeulen

jonas vermeulen

06/02/2012 18:20:37
Quote Anchor link
ja, het is dus de bedoeling van deze vorm te bekomen params += k +'code'+i+'=';
los van de id's hoe kan ik het dan oplossen met die k variabele?
verder werkt die $(this).each($('input') ook niet , een idee hoe het anders moet?
Gewijzigd op 06/02/2012 18:35:03 door jonas vermeulen
 
Hertog Jan

Hertog Jan

06/02/2012 18:34:34
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
var params = '';

$.each('.inputfields', function() {
    var param = '';

    $(this).each('input', function() {
                param += $(this).attr('name') + ' = ' + $(this).val();
        });

    params += param;
});


Zoiets? Heb het niet getest..
 
Jonas vermeulen

jonas vermeulen

06/02/2012 18:40:30
Quote Anchor link
ik krijg deze error: Uncaught TypeError: Object input has no method 'apply'
waarschijnlijk is die $(this).each mis
 
Hertog Jan

Hertog Jan

06/02/2012 18:56:43
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
    var params = '';
    var elements = $('.inputfields');
    
    for(i = 0; i < elements.length; i++) {
        var param = '';
        var inputs = $(elements[i]).children('input');
    
        for(ii = 0; ii < inputs.length; ii++) {
            param += $(inputs[ii]).attr('name') + ' = ' + $(inputs[ii]).val();
        }
        
        params += param;
    }
 
Jonas vermeulen

jonas vermeulen

06/02/2012 19:00:41
Quote Anchor link
Bedankt!! zo werkt het wel. beter dan met die each functie :-)
 



Overzicht Reageren