【问题标题】:Unable to get dropdown selected value from aspx page to backend无法从 aspx 页面获取下拉选择值到后端
【发布时间】:2023-03-26 01:45:01
【问题描述】:

大家好,我正在使用 Web 服务和 ajax 调用来绑定我的级联下拉列表,但我无法在后面的代码中获取第一个下拉列表的选定值..

这是我的代码

 $(document).ready(function () {
              var groups = $('#ddlGrpName');
              var docs = $('#ddlDoctors');

              //var getval = $('#ddlGrpName').val();
              //var anothrva = $('#ddlDoctors').val();

              $.ajax({
                  url: 'Dataservice.asmx/GetGroups',
                  method: 'post',
                  dataType: 'json',
                  success: function (data) {

                      groups.append($('<option/>', { value: -1, text: 'select Group' }));
                      docs.append($('<option/>', { value: -1, text: 'select Doctor' }));
                      docs.prop('disabled', true);
                      $(data).each(function (index, item) {
                          groups.append($('<option/>', { value: item.id, text: item.name }));

                          $('#<%=hdnGroupid.ClientID%>').val(item.id);

                      });

                  }


              });

              groups.change(function () {
                  if ($(this).val() == "-1") {
                      docs.empty();
                      docs.append($('<option/>', { value: -1, text: 'select Doctor' }));
                      docs.val('-1');
                      docs.prop('disabled', true);
                  }

                  else {
                      $.ajax({
                          url: 'Dataservice.asmx/GetGroupsid',
                          method: 'post',
                          data: { groupID: $(this).val() },
                          dataType: 'json',
                          success: function (data) {
                              docs.empty();
                              docs.append($('<option/>', { value: -1, text: 'select Doctor' }));
                              docs.prop('disabled', false);
                              $(data).each(function (index, item) {
                                  docs.append($('<option/>', { value: item.id, text: item.pname }));

                                  $('#<%=hdnDoctorid.ClientID%>').val(item.id);
                              });

                          }


                      });
                  }

              });


          });``

下拉值是绑定的,但在保存在数据库中时无法获取选择的下拉值。 这是两个级联下拉菜单,当我采用隐藏字段时,我得到第二个下拉菜单的值,但是当我用第一个下拉菜单检查相同的方式时,我只得到相同的值,但下拉选择的值会在我更改时更改改变下拉它没有发生

请帮忙??

【问题讨论】:

    标签: javascript c# jquery asp.net


    【解决方案1】:

    问题就在这里:

    data: { groupID: $(this).val() }
    

    在 ajax 调用上下文中,它不会使用 this 关键字捕获下拉列表,您需要将 $(this).val() 结果存储在 ajax 调用之外的 groups.change 事件中的变量中,然后在 ajax 调用中使用该变量发送值。

    所以改成这样:

    groups.change(function () {
    
      var groupId = $(this).val();
      ..................
      ..................
      $.ajax({
             ..........
             ...........
             data: { groupID: groupId }
             ...........
    

    希望对你有帮助!

    【讨论】:

    • 不,它不工作......这些值我无法在后面的代码中获取和绑定
    【解决方案2】:

    试试这个

        $(function () {
            $(groups).change(function () {
                var group = $('option:selected', $(this)).val();
                if ($(group).val()==”-1”){// -1 selected} else {//blah}
            });
        });
    

    【讨论】:

      【解决方案3】:

      string fruit = Request.Form[this.ddlname.UniqueID]; string juice = Request.Form[this.ddname.UniqueID];

      这给出了正确的输出..

      我们可以使用 Request.form 集合获取下拉选择的值 https://msdn.microsoft.com/en-us/library/ms525985(v=vs.90).aspx 在这里查看..

      希望对你有帮助..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-23
        • 1970-01-01
        • 2014-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多