IDがDA *の下にあるような選択タグがあり、ドロップダウンが変更されているかどうかを確認したいJqueryドロップダウン変更イベントが機能しない
window.onload = function() {
function refreshData() {
console.log('refresh data...');
}
$('select[id*="DA"]').each(function() {
$(this).change(function() {
alert('change');
refreshData();
});
});
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="dropdown " data-val="true" data-val-ddladdnew="Please select a valid DA." data-val-number="The field DA must be a number." data-val-required="The DA field is required." data-value="123456" id="DA_dff57gdc-3421-4b66-9f05-061e7a8l3207__ID"
name="DA[dff57gdc-3421-4b66-9f05-061e7a8l3207].ID" dropdownaddnew="true" dropdownargument="" dropdownsource="***.Data.Entities.DA" dropdownversion="636245716304981172">
<option value=''></option>
</select>
<select class="dropdown " data-val="true" data-val-ddladdnew="Please select a valid DA." data-val-number="The field DA must be a number." data-val-required="The DA field is required." data-value="789012" id="DA_a50bfa29-2495-47e4-a52f-fa6a8d1305b0__ID"
name="DA[a50bfa29-2495-47e4-a52f-fa6a8d1305b0].ID" dropdownaddnew="true" dropdownargument="" dropdownsource="***.Data.Entities.DA" dropdownversion="636245716304981172">
<option value=''></option>
</select>
しかしrefreshdataを()関数がトリガ取得されていないドロップダウンを変更することで、誰も私が間違っているか、他の方法が何であるかを知っているようだろうか?
initDropdownControls() - バージョンとエンティティ名をとり、オプションに値を設定する関数があります。前のコードは、右クリックしてソースページを表示したもので、今度は検査してコードを取得しました。
<select class="dropdown select2-offscreen init" data-val="true" data-val-ddladdnew="Please select a valid DA." data-val-number="The field DA must be a number." data-val-required="The DA field is required." data-value="728583" id="DA_cff57bdc-3f21-4b66-9f45-061e7a8a3207__ID" name="DA[cff57bdc-3f21-4b66-9f45-061e7a8a3207].ID" dropdownaddnew="true" dropdownaddnewhandler="***.Areas.Admin.Controllers.DAController+DropDownAddNewHandler" dropdownargument="" dropdownsource="****.Data.Entities.DA" dropdownversion="636245716304981172" tabindex="-1"><option value=""></option><option value="735770">Gibson Test, Ben</option><option value="728583" selected="selected">MuTest, Mathew</option><option value="728429">Murdock, Test</option><option value="728412">Testlast, Test </option><option value="728410">Woll, Test</option><option value="-1">(Add New)</option></select>
このオプションにはオプションがあり、window.onloadはすべてのdocument.readyの後にトリガーされる最後のものです。そう、それを使用して、はい@Roryあなたのスニペットが動作しているが、私の問題が何か他のものであり、まだ問題に直面していることを願っています。ページにはそのクラスでたくさんのselectがあるので.dropdownを使用できませんでした。この中にDA *を持つこの特定のselectだけを変更したいと思います。
@Satpal Roryのアバターを見てください。彼の眼球がなくなっているのが見えませんか? ;) – j08691
そして、何も変更されていないときにどのように変更イベントがトリガーされるのですか?それには複数のオプション要素が必要です。 – j08691
あなたのコードは実際に複数の 'option'要素を持っているときに役立ちますので、' change'イベントを発生させることができます:https://jsfiddle.net/a1kqh4y0/。それでも問題が解決しない場合は、問題の実例を教えてください。代わりに '.dropdown'クラスを使うことができるように' each() 'や' [id] '属性セレクタは必要ありません –