簡體   English   中英

JavaScript:禁用, <button>直到選中值</button>

[英]JavaScript: disable <button> until value is selected

我正在嘗試為html5表單實現一個javascript代碼,該代碼將負責禁用/啟用按鈕,直到未選擇select元素。 這是代碼:

HTML:

<form name="courseForm" id="courseForm">
    <select name="coursetype" id="coursetype" onchange="enableStartBtn()">
        <option value="0" selected="selected">Select here...</option>
        <option value="1">CourseName 1</option>
        <option value="2">CourseName 2</option>
        <option value="3">CourseName 3</option>
    </select>
<button type="button" id="startBtn" disabled="disabled" onclick="Test()">Start</button>
</form>

JavaScript

function enableStartBtn() {
    $('#startBtn').removeAttr('disabled');
}

function Test() {
    var form = $('#courseForm');
    var course = $('#coursetype', form).val();
    if (course == '0') {
        alert('Select the course first!');
    } else if (course == '1') {
        alert('CourseName 1 is selected!');
    } else if (course == '2') {
        alert('CourseName 2 is selected!');
    } else if (course == '3') {
        alert('This course is not implemented yet');
    }
}

我在我的代碼中使用JQuery 1.9.1 ,一切看起來都不錯,但是當選擇了when值時,按鈕不啟用。 任何幫助,將不勝感激。

更新 :抱歉,伙計們忘了提到我也在使用JQuery Mobile 1.3.0 ,所以不包括jquery mobile它可以工作,但是jquery mobile不行。 這是jsfiddle版本: http//jsfiddle.net/dozent/UVQ4m/

<form name="courseForm" id="courseForm">
    <select name="coursetype" id="coursetype">
        <option value="0" disabled>Select here...</option>
        <option value="1">CourseName 1</option>
        <option value="2">CourseName 2</option>
        <option value="3">CourseName 3</option>
    </select>
    <button type="button" id="startBtn" disabled>Start</button>
</form>

並做:

var courses = ['1','2']; // available courses

$('#coursetype').one('change', function() {
     $('#startBtn').prop('disabled', false);
});

$('#startBtn').on('click', function() {
    var val = $('#coursetype').val(),
        msg = $.inArray(val, courses) != -1 ? 'CourseName '+val+' is selected!' : 'This course is not implemented yet';
    alert(msg);
});

小提琴

使用prop()

function enableStartBtn() {
   $('#startBtn').prop('disabled',false); //<----to remove  disable attr of the button
}

你需要在這里更改按鈕的屬性,而不僅僅是刪除屬性

包含在標題區域中

  1. 不是這個= $('#coursetype')。one('change',function(){
  2. 它應該= $('#coursetype')。on('change',function(){

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM