0

値に応じて選択リストから特定のオプションを選択しようとしています。次のマークアップがあります。

<select name="class" id="class">
    <option value="1">679460ED-0B15-4ED9-B3C8-A8C276DF1C82</option>
    <option value="2">B99BF873-7DF0-4E7F-95FF-3F1FD1A26139</option>
    <option value="3">1DCD5AD7-F57C-414</option>
    <option value="4">6B0170AA-F044-4F9C-8BB8-31A51E452CE4</option>
    <option value="5">C6A8B</option>
    <option value="6">1BBD6FA4-335A-4D8F-8681-DFED317B8052</option>
    <option value="7">727D71AB-F7D1-4B83-9D6D-6BEEAAB</option>
    <option value="8">BC4DE8A2-C864-4C7C-B83C-EE2450AF11B1</option>
    <option value="9">AIR CONDITIONING  SYSTEM</option>
    <option value="10">POWER GENERATION SYSTEM</option>
</select>

<script>
    selectThisValue('#class',3);
</script>

.js

function selectThisValue(element,value) {
    console.log(value); 
    var elem = $(element + ' option[value=' + value + ']');
    console.log(elem);
    elem.attr("selected", "selected");
}

の結果console.logは次のとおりです。

3

[prevObject: i.fn.i.init[1], context: document, selector: "#class option[value=3]", jquery: "1.10.2", constructor: function…]

しかし、これは機能していません。エラーは発生しませんが、何も起こりません。どこが間違っているのかを特定するのを手伝ってください。

4

3 に答える 3

1

単純:

$('#class').val('3');

または、オプションのインデックスを使用します (わかっている場合):

$('#class').prop('selectedIndex', 2);
于 2013-10-20T21:56:42.807 に答える
1

を呼び出すだけで、選択したオプションを設定できます$.val()

$("#class").val(3);

実際の例: http://jsfiddle.net/QphFX/

于 2013-10-20T21:58:19.853 に答える
-1

すでにjQueryを使用しているため、これは問題に対するより良い解決策です。

$("#class")[0].selectedIndex = 0 //or whichever index you want selected
于 2013-10-20T21:49:36.100 に答える