これがあなたの質問に答えていると思います:
http://jsfiddle.net/dq97z/66/
内部でdisplayVals
次を実行しました:
if ($("#menucompare").prop("selectedIndex") !== "0") {
// Within the select (you could be more specific) find
// the first (direct descendant) option value and
// disable it to make it unselectable
$("select > option:first").prop("disabled", "disabled")
}
このセグメントは、選択メニューの選択されたインデックスが何であるかを調べ、ユーザーが最初のもの (0) 以外のものを選択した場合、最初のオプションを無効に設定します。
更新: http://jsfiddle.net/dq97z/72/
ドキュメントと@silksterのアドバイスに従って無効にするときに変更attr()
されました。ありがとうprop()
また、最初にオプションを選択可能にしたくない場合は、ここで見られるように if ステートメントなしで行うこともできます。
function displayVals() {
var singleValues = $("select option:selected").text();
....
$("select > option:first").prop("disabled", "disabled")
}
無効化は DOM がロードされた後に行われるため (最初の DOM は無効化されていません)、選択で「選択してください」を選択したままにすることができます。おっと...それはたくさんの「選択」です。
if ステートメントをそこに残したい場合 (つまり、別のステートメントが実際に選択されるまで「1 つを選択」が選択可能であることを意味します)、if ステートメントは次のようにする必要があります。
if ($("#menucompare").prop("selectedIndex") !== 0) // with no quotes around zero