tengo colección de elementos selectos, cuando cambio el valor de uno elementos seleccionados para la primera vez que esta función no trabajan funciona la segunda vez que cambie el valor y en la consola tengo Jquery: el uso del atributo especificado de atributos está en desuso. Siempre devuelve verdadero
código jQuery:
código$(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>
Por favor, publique la parte relevante de su código. ¿Y está seguro de que este aviso se debe a un cambio en el valor de estos elementos (o podría ser algo más)? –
Por cierto, en lugar de utilizar .parent(). Parent(), es posible que desee utilizar .end() en su lugar para "deshacer" las operaciones de cadena "destructivas" anteriores. Creo que obtendrás un mejor rendimiento de esa manera, aunque en realidad no midí esto. http://api.jquery.com/end/ – iX3
Incluya el HTML relevante así como JavaScript/jQuery. Para obtener una mejor respuesta más rápido, le recomiendo publicar un ejemplo que demuestre el problema en una herramienta en línea como JS Fiddle: http://jsfiddle.net/ – iX3