Передача строки таблицы в файл JS - PullRequest
0 голосов
/ 29 января 2012

Я пытаюсь передать не только идентификатор выпадающего списка с помощью этого, но я также пытаюсь передать строку.

<asp:DropDownList ID="dropdownPhase" _clientId="comboboxPhase" runat="server" Font-Size="xx-small" onchange="SummaryHelper.onPhaseChange(this,this.tr);" />

Вот Javascript из моего файла JS

onPhaseChange: function(dropdown, row) {
    var combobox = $(dropdown);
    var table = combobox.parents("table").eq(0);
    comboboxWorkUnit = row.find("select.workUnit");

    if (combobox.data('oldValue') || !combobox.find("option[value='']").length) {
        comboboxWorkUnit.hide();
    }

},

Когда я запускаю его так, как есть, я получаю эту ошибку:

Ошибка времени выполнения Microsoft JScript: «undefined» является нулем или не является объектом

1 Ответ

1 голос
/ 29 января 2012

Ну this.tr это ничто.Мне было бы любопытно узнать, откуда вы это взяли.

Если вы хотите пропустить строку, вам нужно получить строку точно так же, как в функции.

onchange="SummaryHelper.onPhaseChange(this,$(this).closest('tr'));"

Это передает объект jQuery вместе со строкой, поскольку вы используете его как объект jQuery в функции.


Но тогда вы можете просто сделать это и в функции.

onPhaseChange: function(dropdown) {
    var combobox = $(dropdown);
    var row = combobox.closest('tr');
    var table = combobox.parents("table").eq(0);
    comboboxWorkUnit = row.find("select.workUnit");

    if (combobox.data('oldValue') || !combobox.find("option[value='']").length) {
        comboboxWorkUnit.hide();
    }

},
...