私は技術的に動作するスクリプトを少し持っています。基本的にURLのハッシュタグを聴き、ハッシュタグと一致するオプション値で選択メニューを更新します。これはページの読み込みでも機能し、ハッシュタグがどのように更新されるかは気にしません。パーフェクト選択メニューのオプション項目の人間の選択をシミュレートします
問題は、私はあなたが手動でオプション項目を選択したときにオプション項目を選択したときに何かをするそのページに何かをする他の多くのスクリプトがありますが、オプション項目を自動的に選択します。この設定で実際にどのように人間の選択をシミュレートできますか?何か案は?
$(document).ready(function() {
\t window.addEventListener('hashchange', fn, false);
\t window.onload = fn; // fire on pageload
\t function fn() {
document.getElementById('select-two').value =
window.location.hash.replace('#','');
\t }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select-two" name="colordrop" class="color2" onchange="letsDoThis()">
<option value="Jet" class="jet">Jet</option>
<option value="Cream" class="cream">Cream</option>
<option value="Chocolate" class="chocolate">Chocolate</option>
<option value="Classic Red" class="classic_red">Classic Red</option>
</select>
そしてここJSFiddleでハッシュタグを証明する方法がわからないのに、私のJSFiddleです。 https://jsfiddle.net/liquilife/n9r6af7e/1/
これは解決されました。私はその答えを完全なものとしてマークしました。以下で動作します最終的なコード:
$(document).ready(function() {
\t window.addEventListener('hashchange', fn, false);
\t window.onload = fn; // fire on pageload
\t function fn() {
$("#select-two").val(window.location.hash.replace('#','')).trigger("change");
\t }
});
あなたは「人間の選択をシミュレートする」とはどういう意味ですか?値を変更するには、以下を使用するだけで済みます(jsfiddleでテストされます)。 = 'Blush'; }); ' – quirimmo
私は、その選択ドロップダウンから手動で選択が行われたときに機能を実行する他のスクリプトをページに持っています。しかし、ハッシュタグに基づく自動選択は検出されず、選択変更で結ばれた機能は起動されません。 –
val()を使用してselectの値を設定すると、jqueryの変更イベントがトリガされないのはなぜですか?](https://stackoverflow.com/questions/4672505/why-does-the-jquery-change-イベントが発生しない場合のトリガ - 私が設定した-the-select-us-select-us) – showdev