2012-05-02 24 views
7

i tener la siguiente secuencia de comandos dentro de mi asp.net mvc vista: -prop ("disabled", true); Y attr ('discapacitados', 'discapacitado') no funciona en Chrome y Firefox

function disableform(id) { 
    $('#' + id).prop("disabled", true); 
} 

Pero la función anterior sólo desactivar los elementos utilizando Internet explorer ,, pero dejará de funcionar en Chrome o Firefox, también intenté escribir attr('disabled', 'disabled') en lugar de .prop("disabled", true);, pero no resolvió el problema.

mi versión de jQuery 1.7.1 es

Entonces, ¿cuál podría ser el problema?

BR

+2

Si pones esto en esa función, ¿qué es lo que se obtiene: 'alerta ($ ('#' + id) .length)' –

+0

Ambos parecen funcionar muy bien en cromo: http://jsfiddle.net/Fuw49/ –

Respuesta

8

Desactivación de una formaestá mal! IE es simplemente ensuciarlo! deberías deshabilitar los campos.

function disableform(id) { 
    $('#' + id+' :input').prop("disabled",true); 
}​ 

DEMO

1

que ejecutar ASP.NET y tenía este mismo problema.

Dejé jQuery y fue a puro Javascript y funcionó muy bien.

var element = document.getElementById('MyID'); 
    element.setAttribute('disabled', 'disabled'); 

Editar: Para que esto funcione correctamente, debe utilizar element.removeAttribute ('discapacitados'); cuando se habilita el elemento. De lo contrario, permanece desactivado.

-1
function SwapA(SwapActivation) { 
for (i=1;i==5;i++) { 
if (i != SwapActivation) { 
    // All Browsers supported ..... 
    $("input[name=pg1"+i+"]").prop('disabled', true); 
    $("input[name=pg2"+i+"]").prop('disabled', true); 
} 
else { 
    // JQuery 1.10+ _&&_ Opera 12 and All other browsers... !!!! 
    if ($("input[name=pg1"+i+"]").prop('disabled') === true) 
     $("input[name=pg1"+i+"]").prop('disabled', false); 
    if ($("input[name=pg2"+i+"]").prop('disabled') === true) 
     $("input[name=pg2"+i+"]").prop('disabled', false); 

    // works = JQuery 1.10+ _&&_ Opera 12.16 + Firefox 24; 
    // do not work "Opera 17.0.1241.53", "Chrome" v.30.0.1599.101 m 
    $("input[name=pg1"+i+"]").removeProp('disabled'); 
    $("input[name=pg2"+i+"]").removeProp('disabled'); 
    // .removeProp() is affects negative 

    // works possible = JQuery 1.4.x : 
    $("input").attr('name','pg1'+i)[0].removeProp('disabled'); 
    $("input").attr('name','pg2'+i)[0].removeProp('disabled'); 
}}} 

es útil? :)

0

no pude conseguir que funcione en cromo eliminación de la propiedad, por lo que me acaba de agregar la clase de personas con discapacidad, no es un verdadero discapacitados pero funciona en IE y Chrome

$('#search').on('click', function (event) { 
    $('#search').text("Searching"); 
    $('#search').addClass("disabled"); 
    return true; 
}); 
Cuestiones relacionadas