2014-09-03 229 views
0

我想彈出一個MSG和禁用提交按鈕,如果ID =「國家」不等於選項值=「美國」我想我很接近,但似乎無法弄清楚:Popup MSG和禁用提交按鈕

CODE:

<html> 
<body> 

<script> 

$(document).on('change','#Country',function() { 

    if ((value1 != "US")) { 
     alert(my error message); 
     SubmitButton = "disabled"; 
    } 

}); 
</script> 


<select id="Country"> 
    <option value="US">United States</option> 
    <option value="CAN">Canada</option> 
    <option value="JAP">Jspan</option> 
</select> 

<br /><br /> 

<input id="SubmitButton" type="button" value="Submit"> 

</body> 
</html> 

回答

2

你有幾個錯誤,這裏是固定的代碼:

JSFiddle

$(document).ready(function() { 
    $("#Country").on('change', function() { 
     if ($(this).val() != "US") { 
      alert("my error message"); 
      $("#SubmitButton").prop("disabled",true); 
     } 
    }); 
}); 
  • 「我的錯誤信息」周圍沒有引號一個錯誤
  • 另一個錯誤是您在此腳本運行之前沒有加載DOM。我在$(document).ready(function() { ... });中包裝了您的代碼,這樣做意味着您不需要使用文檔中的委派。
  • 另一個原因是,你從來沒有設置「值1」,我改成了只需要直接獲得價值 - $(this).val()
  • 另一個問題是,你需要真正得到的提交按鈕來禁用它。與$("#SubmitButton")得到它,與.prop("disabled",true)

禁用另外,如果你想重新啓用,如果用戶選擇美國提交按鈕,你可以這樣做:

JSFiddle

 ... 
     $("#SubmitButton").prop("disabled",true); 
    } else { 
     $("#SubmitButton").prop("disabled",false); 
    } 
... 
+0

是有差異的B/W ATTR和支撐請到通過 – Sunand 2014-09-03 20:06:09

+0

@Sunand,真的不夠,'.prop()'應該用於disabled' – smerny 2014-09-03 20:10:52

+0

'壞我不能回覆單獨的笑臉:) – Sunand 2014-09-03 20:13:36

0

使用jQuery的attr()

$("#SubmitButton").attr("disabled", true); 
+0

'.prop(..,..)'應該用於'disabled'而不是'.attr(..,..)'。 – kelunik 2014-09-04 08:50:38

+0

請問,爲什麼? – lukadante3 2014-09-04 22:01:08

+1

當然,這裏有很好的解釋:http://api.jquery.com/prop/ – kelunik 2014-09-05 08:05:28

0

我beleive它不是

SubmitButton = "disabled"; 

應該

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