在设置下拉值之前调用javascript函数

时间:2018-08-11 17:12:27

标签: javascript c# asp.net

我在gridview模板字段中有一个下拉列表,并将rowIndex传递给javascript函数。似乎在下拉列表中的值有时间完全更改为所选值之前触发了javascript函数。因此,即使我从下拉列表中选择了其他选项,我也总是会得到第一个返回的索引。

 <asp:TemplateField HeaderText="Establishment">
                        <ItemTemplate>
                            <asp:DropDownList ID="drpUserEstablishment" CssClass="dropdown" ClientIDMode="Static"
                                runat="server" AutoPostBack="false"
                                onchange='<%#"setUserEstablishment(" + Container.DataItemIndex +")"%>'>
                            </asp:DropDownList>

                       </ItemTemplate>

  </asp:TemplateField>

JavaScript函数:

function setUserEstablishment(rowIndex) {
     var establishid = $('#drpUserEstablishment option:selected').val();
}

1 个答案:

答案 0 :(得分:0)

传递“ this”然后在函数中使用this似乎可以解决这个问题

onchange='<%#"test(" + "this"+","+Container.DataItemIndex +")"%>'

 function test(ddl,rowindex) {

                                      var index = ddl.selectedIndex;

                                      alert("rowindex=" + rowindex);

                                      alert('Selected Value = ' + ddl.value + '\r\nSelected Index = ' + index);
}