ho collezione di selezionare elementi, quando cambio valore di uno elementi selezionati per la prima volta questa funzione non funzionano funziona la seconda volta che cambia il valore e nella consolle ho Jquery: l'uso dell'attributo specificato degli attributi è deprecato. Esso restituisce sempre vero
codice jQuery:
codice$(document).ready(function() {
var collection = $('select.ddlJ');
console.log(collection);
for (var element in collection) {
$(element).change(function() {
$('select.ddlJ').change(function (e) {
$(this).parent().parent().find('td:last').prev().find('span').html(
$(this).parent().parent().find('select.ddlJ').filter(function() {
return $.trim($(this).val()) == 'm';
}).length);
$(this).parent().parent().find('td:last span').html(
$(this).parent().parent().find('select.ddlJ').filter(function() {
return $.trim($(this).val()) == 'n'; }).length);
});
});
}
});
HTML:
<table cellspacing="0" border="1" style="border-collapse:collapse;" id="grid1"
rules="all">
<tbody><tr>
<th scope="col">Nr de ord</th>
<th scope="col">StudentId</th>
<th scope="col">Name LName</th>
<th scope="col">
<span id="mondayText">monday<br></span>
<span id="monday">14.05.2012</span>
</th>
<th scope="col">
<span id="thuesdayText">thuesday<br></span>
<span id="thuesday">15.05.2012</span>
</th>
<th scope="col">
<span id="wednesdayText">wednesday<br></span>
<span id="wednesday">16.05.2012</span>
</th>
<th scope="col">
<span id="thursdayText">thursday<br></span>
<span id="thursday">17.05.2012</span>
</th>
<th scope="col">
<span id="fridayText">friday<br></span>
<span id="friday">18.05.2012</span>
</th>
<th scope="col">
<span id="saturdayText">saturday<br></span>
<span id="saturday">19.05.2012</span>
</th>
<th scope="col">
<span id="M">Total1</span>
</th>
<th scope="col">
<span id="N">Total2</span>
</th>
</tr><tr>
<td> 1 </td>
<td>110001</td>
<td>Test1 Test1</td><td>
</td><td>
</td><td>
</td><td>
<select class="ddlJ" id="a1111_0" name="ctl00$contentbody$grid1$ctl02$a1111">
<option value="a" selected="selected">a</option>
<option value="m">m</option>
<option value="n">n</option>
</select>
<select class="ddlJ" id="a2222_0" name="ctl00$contentbody$grid1$ctl02$a2222">
<option value="a" selected="selected">a</option>
<option value="m">m</option>
<option value="n">n</option>
</select>
</td><td>
</td><td>
</td><td>
<span class="label" id="totalM"></span>
</td><td>
<span id="totalN"></span>
</td>
</tr><tr>
<td> 2 </td>
<td>110002</td>
<td>Test2 Test2</td>
<td></td>
<td></td>
<td></td><td>
<select class="ddlJ" id="a1111_1" name="ctl00$contentbody$grid1$ctl03$a1111">
<option value="a" selected="selected">a</option>
<option value="m">m</option>
<option value="n">n</option>
</select>
</td><td>
</td><td>
</td><td>
<span class="label" id="totalM"></span>
</td><td>
<span id="totalN"></span>
</td>
</tr><tr>
<td>
3
</td><td>110008</td><td>Test3 Test3</td><td>
</td><td>
</td><td>
</td><td>
<select class="ddlJ" id="a1111_2" name="ctl00$contentbody$grid1$ctl04$a1111">
<option value="a" selected="selected">a</option>
<option value="m">m</option>
<option value="n">n</option>
</select>
</td><td>
</td><td>
</td><td>
<span class="label" id="totalM"></span>
</td><td>
<span id="totalN"></span>
</td>
</tr>
</tbody>
</table>
Si prega di inviare la parte pertinente del codice. E sei sicuro che questo avviso sia causato cambiando il valore di questi elementi (o potrebbe essere qualcos'altro)? –
BTW, piuttosto che usare .parent(). Parent(), potresti voler usare .end() invece per "annullare" le precedenti operazioni di catena "distruttiva". Credo che otterrai prestazioni migliori in questo modo, anche se in realtà non l'ho misurato. http://api.jquery.com/end/ – iX3
Si prega di includere l'HTML in questione e JavaScript/jQuery. Per ottenere una risposta migliore più rapidamente, consiglio vivamente di pubblicare un esempio che mostri il problema con uno strumento online come JS Fiddle: http://jsfiddle.net/ – iX3