回答:
$("#mydropdownlist").val("thevalue");
オプションタグの値がvalメソッドの値と一致することを確認してください。
$("#mycontrolId").selectmenu('refresh');
変更を反映するために呼び出す必要があった
インデックスを使用している場合は、選択したインデックスを.attr()で直接設定できます。
$("#mydropdownlist").attr('selectedIndex', 0);
これにより、ドロップリストの最初の値に設定されます。
編集: 私が上記で行った方法は以前は機能していました。しかし、もはやそうではないようです。
しかし、ハンがコメントでとても嬉しく指摘しているので、それを行う正しい方法は次のとおりです。
$("#mydropdownlist").get(0).selectedIndex = index_here;
select
タグにはという名前の属性がないため、これはまったく機能しませんselectedIndex
。代わりにDOMオブジェクトのプロパティです。したがってコードがなければならない:$("#mydropdownlist").get(0).selectedIndex = index_here;
$("#mydropdownlist").prop('selectedIndex', index_here);
また働きます。
@Nick Berardiが提案したように、変更した値がUIフロントエンドに反映されない場合は、次のことを試してください。
$("#mydropdownlist").val("thevalue").change();
selectmenu
私のバージョンのjQueryでは未定義ですchange()
が、トリックを行います。
次の非常にシンプルなアプローチを試してください。
/*make sure that value is included in the options value of the dropdownlist
e.g.
(<select><option value='CA'>California</option><option value='AK'>Alaska</option> </select>)
*/
$('#mycontrolId').val(myvalue).attr("selected", "selected");
$("#mycontrolId").selectmenu('refresh');
$('#mycontrolId').selectmenu('refresh').val(myvalue).attr("selected", "selected");
ですか?
値の設定とドロップダウンリストイベントの更新
$("#id").val("1234").change();
それを行うには多くの方法があります。ここにそれらのいくつかがあります:
$("._statusDDL").val('2');
または
$('select').prop('selectedIndex', 3);
これは役立つと思います:
$.getJSON('<%= Url.Action("GetDepartment") %>',
{ coDepartment: paramDepartment },
function(data) {
$(".autoCompleteDepartment").empty();
$(".autoCompleteDepartment").append($("<option />").val(-1));
$.each(data, function() {
$(".autoCompleteDepartment").append($("<option />").val(this.CodDepartment).text(this.DepartmentName));
});
$(".autoCompleteDepartment").val(-1);
}
);
このようにすると、テキストのない要素が追加されます。そのため、de comboをクリックしても表示されませんが、値-1は後で$( "。autoCompleteDepartment")。val(-1);を使用して選択を追加しました。コンボに有効な値があるかどうかを制御できます。
それが誰かを助けることを願っています。
私の英語でごめんなさい。
ドロップダウンの値を設定する必要があるだけの場合、最善の方法は
$("#ID").val("2");
ドロップダウンにonChangeイベントを設定し、ドロップダウンの更新後にこれを実行する場合など、ドロップダウン値を更新した後にスクリプトをトリガーする必要がある場合このように使用する必要があります
$("#ID").val("2").change();
選択したオプションをすばやく設定するための関数を次に示します。
function SetSelected(elem, val){
$('#'+elem+' option').each(function(i,d){
// console.log('searching match for '+ elem + ' ' + d.value + ' equal to '+ val);
if($.trim(d.value).toLowerCase() == $.trim(val).toLowerCase()){
// console.log('found match for '+ elem + ' ' + d.value);
$('#'+elem).prop('selectedIndex', i);
}
});
}
引数要素IDと選択した値を使用してこの関数を呼び出します。このような:
SetSelected('selectID','some option');
設定する選択オプションが多い場合に便利です。
すべて<options ....></options>
をAjax呼び出しでロードする場合
これを行うには、以下の手順に従ってください。
1)。
Exのドロップダウンの設定値に個別のメソッドを作成します。
function set_ip_base_country(countryCode)
$('#country').val(countryCode)
}
2)。ajax呼び出しが成功したときに、このメソッドを呼び出します。
例:
success: function (doc) {
.....
.....
$("#country").append('<option style="color:black;" value="' + key + '">' + value + '</option>')
set_ip_base_country(ip_base_country)
}
drop-down
selected
値を設定して変更を更新
$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")
ここで、最初に値を設定Model
し、選択した値を更新しました
//ドロップダウンリストのHTML形式。
<select id="MyDropDownList">
<option value=test1 selected>test1</option>
<option value=test2>test2</option>
<option value=test3>test3</option>
<option value=test4>test4</option>
//選択したアイテムをjavascriptを使用してtest2に変更する場合。これを試してみてください。//選択したい次のオプションを設定します
var NewOprionValue = "Test2"
var RemoveSelected = $("#MyDropDownList")[0].innerHTML.replace('selected', '');
var ChangeSelected = RemoveSelected.replace(NewOption, NewOption + 'selected>');
$('#MyDropDownList').html(ChangeSelected);
上記の強調表示/チェックされた回答を使用するとうまくいきました...ここに少し洞察があります。私はURLを取得することに少し騙しましたが、基本的にはJavaScriptでURLを定義してから、上記のjquery回答を介して設定します。
<select id="select" onChange="window.location.href=this.value">
<option value="">Select a task </option>
<option value="http://127.0.0.1:5000/choose_form/1">Task 1</option>
<option value="http://127.0.0.1:5000/choose_form/2">Task 2</option>
<option value="http://127.0.0.1:5000/choose_form/3">Task 3</option>
<option value="http://127.0.0.1:5000/choose_form/4">Task 4</option>
<option value="http://127.0.0.1:5000/choose_form/5">Task 5</option>
<option value="http://127.0.0.1:5000/choose_form/6">Task 6</option>
<option value="http://127.0.0.1:5000/choose_form/7">Task 7</option>
<option value="http://127.0.0.1:5000/choose_form/8">Task 8</option>
</select>
<script>
var pathArray = window.location.pathname.split( '/' );
var selectedItem = "http://127.0.0.1:5000/" + pathArray[1] + "/" + pathArray[2];
var trimmedItem = selectedItem.trim();
$("#select").val(trimmedItem);
</script>