3

したがって、選択リストがあり、デフォルト値が変更されていない場合は---、フォーム false に戻ります。ほぼ検証目的のため、彼らがタイトルを選んだことはわかっています. 問題は、何らかの理由prop()でデフォルト値を一番下の値に変更していることです。これが起こらないようにする方法はありますか?JSFiddle は次のとおりです。

JSFiddle リンク

コードは次のとおりです。

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>

<strong>JS

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

<strong>編集

attr() に変更して、それが役立つかどうかを確認しようとしましたが、同じ問題が発生します:(

4

1 に答える 1

2

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

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

に:

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

この jsfiddleを参照してください。

于 2012-04-05T20:15:09.513 に答える