2016-11-15 3 views
2

土曜日の場合はselectoptionフィールドを無効にするにはどうすればよいですか?入力が特定の日である場合に選択オプションを無効にする

inputと1つのselectがあります。ここで

<input type="text" name="date">11/15/2016 

<select> 
    <option value="car">Car</option> 
    <option value="boat">Boat</option> 
</select> 

は私のjavascriptです:

if(???) { 
    $("option[value='boat']").attr("disabled", "disabled"); 
} 

inputdateが土曜日であれば、私はif文に置くべきか?

+1

[尋ねる]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

答えて

3
var today = new Date('2016-11-15'); 
if(today.getDay() == 6) {//6 is saturday 
    ...// disable the option value 
} 
+0

どのように日付 '11/15/2016'を' 2016-11-15'形式に変換できますか? – pixie123

+0

そのような日付解析は、FYIのすべてのブラウザで機能しません。 –

+0

'11/15/2016 'で直接渡すことができます – user2693928

2

選択した値を使用して日付オブジェクトに変換します。

var selectedDate = new Date("11/15/2016"); 

// Use the get day method that will give you the day of the week. 

if(selecteddate.getDay() === 6) { 
    // your code 
} 
0

あなたは使用することができます。

  • Date.prototype.getUTCDay()

    getUTCDayは()メソッドは、0は日曜日を表し世界時、に従って、指定 日付に曜日を返します。 。

  • Date Instancenew Date(dateString)

    時に一瞬 を表すJavaScript Dateインスタンスを作成します。 Dateオブジェクトは、UTC 1970年1月1日以降の ミリ秒の時間値に基づいています。

  • prop()代わりのattr()ブールプロパティを扱います。

var $dateInput = $("#dateInput"), 
 
    $option = $("option[value='boat']"); 
 

 
$dateInput.on("change", function() { 
 
    var date = new Date($dateInput.val()); 
 
    if (date.getUTCDay() === 6) { 
 
    $option.prop("disabled", true); 
 
    } else { 
 
    $option.prop("disabled", false); 
 
    } 
 
    console.log(date); 
 
    console.log(date.getUTCDay()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<input type="date" name="date" id="dateInput"> 
 

 
<select> 
 
    <option value="car">Car</option> 
 
    <option value="boat">Boat</option> 
 
</select>

関連する問題