Событие изменения триггера выпадающего списка

Я хочу вызвать событие изменения выпадающего списка в $(document).ready, используя jquery.

У меня есть каскадное раскрывающееся меню для страны и штата на странице сведений о пользователе. как я могу установить значение (которое берется из БД на основе идентификатора пользователя) для страны и состояния в MVC с С#.

Ответ 1

Я не знаю, что много JQuery, но я слышал, что он позволяет запускать собственные события с помощью этого синтаксиса.

$(document).ready(function(){

    $('#countrylist').change(function(e){
       // Your event handler
    });

    // And now fire change event when the DOM is ready
    $('#countrylist').trigger('change');
});

Подробнее здесь.

Ответ 2

Попробуйте следующее:

$(document).ready(function(event) {
    $('#countrylist').change(function(e){
         // put code here
     }).change();
});

Определите событие изменения и немедленно запустите его. Это гарантирует, что обработчик события определен до его вызова.

Возможно, вам будет поздно отвечать на оригинальный плакат, но кто-то может извлечь выгоду из сокращенной нотации, и это следует за цепочкой jQuery и т.д.

цепочка jquery

Ответ 3

Если вы пытаетесь связать выпадающие списки, лучший способ сделать это - иметь script, который возвращает предварительно выбранный флажок и вызов AJAX, который его запрашивает.

Вот вам документация по jQuery Ajax, если вам это нужно.

$(document).ready(function(){

    $('#countrylist').change(function(e){
        $this = $(e.target);
        $.ajax({
            type: "POST",
            url: "scriptname.asp", // Don't know asp/asp.net at all so you will have to do this bit
            data: { country: $this.val() },
            success:function(data){
                $('#stateBoxHook').html(data);
            }
        });
    });

});

Затем у вас есть диапазон вокруг вашего окна выбора состояния с идентификатором "stateBoxHook"

Ответ 4

Попробуйте следующее:

$('#id').change();

Работает для меня.

На одной строке вместе с настройкой значения:  $('#id').val(16).change();

Ответ 5

альтернативно вы можете поместить атрибут onchange в выпадающий список, что onchange вызовет определенную функцию jquery, как это.

<input type="dropdownlist" onchange="jqueryFunc()">

<script type="text/javascript">
$(function(){
    jqueryFunc(){
        //something goes here
    }
});
</script>

надеюсь, что это поможет вам, и, пожалуйста, обратите внимание, что этот код - всего лишь черновик, не проверенный на каком-либо идее. спасибо