2012-04-05 12 views
3

選択リストがあり、デフォルト値が---から変更されていない場合はfalseに戻ります。妥当性確認の目的のためにかなり多く、彼らはタイトルを選んだと知っています。問題は何らかの理由でprop()がデフォルト値を一番下の値に変更していることです。これが起こらないようにする方法はありますか?ここJSFiddleです:オプションプロンプトデフォルトの選択値を変更する - Jquery

JSFiddle Link

そしてここでは、コードは次のとおりです。

HTML

<form onSubmit="return checkSelect()"> 
<select id="title" name="title"> <option value="---">---</option> <option value="Administrator">Administrator</option> <option value="Asst. Admin.">Asst. Admin.</option> <option value="Director">Director</option> <option value="Asst. Director">Asst. Director</option> <option value="IT Director">IT Director</option> <option value="Manager">Manager</option> <option value="Medical Officer">Medical Officer</option> <option value="Other">Other</option> </select> 
    <input type="submit" value="submit" /> 
</form> 

JS

function checkSelect(){ 
try{ 
    var val = $('#title option').attr('selected', 'selected').val(); 
    alert(val); 
    return false; 
    } 
    catch(err){ 
     alert(err.message); 
    } 
} 

EDIT

は、私はそれが役立つだろうかどうかを確認するために)(ATTRに変更しようとしましたが、それは同じ問題を生じ:(

答えて

2

使用attr(attribute, value)機能がthe attr docを参照し、値に属性を設定しています。変更してみてください:

var val = $('#title option').attr('selected', 'selected').val(); 

に:

var val = $('#title option:selected').val(); 

this jsfiddleを参照してください。

+0

それはうまくいきました、ありがとうございます!私はprop()がしていることに混乱しなければならない。 –

+0

私は助けることができる嬉しい:)。ちなみに、コードサンプルは 'prop'ではなく' attr'を使います。彼らはあなたとは異なる(しかし、関連する)ことをします。 [prop documentation](http://api.jquery.com/prop/)にはその違いの説明があります。 – Jeroen

関連する問題