2012-12-03 73 views
-3

我有一個大問題,我無法正確執行我的jQuery代碼。不是jQuery中的函數

我編輯的職位,以顯示HTML ...

<select id="corrector" name="availability" value="" onchange="escorrecto();" > 
    <option value="correcto"></option> 
    <option value="incorrecto"></option> 
    <option value="nodefinido"></option> 
</select> 

和jQuery代碼...

function escorrecto() 
{ 
    switch ($('corrector').value) 
    { 
     case 'correcto': 
      alert($('corrector').value) 
     break; 
     case 'incorrecto': 
      alert($('corrector').value) 
     break; 

     case 'nodefinido': 
      alert($('corrector').value) 
      $("#campo").prop("disabled",true); 
     break; 
    } 
} 
+0

您正在使用什麼版本的jQuery? –

+0

顯示其餘的部分。你有什麼嘗試?這應該做什麼?顯示HTML,也許是一個jsFiddle演示。 – Sparky

回答

3
$('campo').value 

應該是

$('.campo').val()如果類$('#campo').val() if id

.value的native javascript method

.VAL()jQuery method

如果你想使用.value那麼這應該工作

$('#campo')[0].value; 

而且在$("otro").attr("disabled","disabled");

喜歡使用.prop()代替.attr()

$("#otro").prop("disabled",true); 

校驗碼

<select id="corrector" name="availability" value="" onchange="escorrecto();" > 
    <option value="correcto">Correcto</option> 
    <option value="incorrecto">Incorrecto</option> 
    <option value="nodefinido">Nodefinido</option> 
</select> 

<input type="text" id="campo" value="Submit" /> 
<script> 
    function escorrecto() 
{ 
    var val = $('#corrector')[0].value 
    switch (val) 
    { 
     case 'correcto': 
      alert(val) 
     break; 
     case 'incorrecto': 
      alert(val) 
     break; 

     case 'nodefinido': 
      alert(val) 
      $("#campo").prop("disabled",true); 
     break; 
    } 
} 
</script> 

Check Fiddle

+0

不,是一個正確的警報消息,這不是問題。 – AdrianSeg

+0

$(「#otro」)爲空:( – AdrianSeg

+1

@AdrianSeg,那麼你需要更好地解釋你的問題,因爲這些仍然是你的代碼的實際問題。 – Sparky