jquery selector loop
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
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)
Code (php)
1
2
3
4
5
6
7
8
9
10
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>?>
<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>?>
Gesponsorde koppelingen:
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.
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.
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?
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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;
});
$.each('.inputfields', function() {
var param = '';
$(this).each('input', function() {
param += $(this).attr('name') + ' = ' + $(this).val();
});
params += param;
});
Zoiets? Heb het niet getest..
ik krijg deze error: Uncaught TypeError: Object input has no method 'apply'
waarschijnlijk is die $(this).each mis
waarschijnlijk is die $(this).each mis
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}
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;
}
Bedankt!! zo werkt het wel. beter dan met die each functie :-)



