单击按钮后,获取所选选项的值

时间:2018-02-07 16:28:32

标签: javascript jquery

我有一个按钮,可以打开一个模态并执行ajax来填充字段...........

    $(document).on('click', '.renew', function(){
            var user_id3 = $(this).attr("id");
            $.ajax({
            url:"fetch.php",
            method:"POST",
            data:{user_id3:user_id3},
            dataType:"json",
            success:function(data)
            {
              $('#businessModal').modal('show');
              $('#requested_by').val(data.requested_by);
              $('#form_type').val(data.form_type);
              $('#bus_type').find('option[value="'+data.bid+'"]').prop('selected', true);   
            }
          })

        //the code that i tried
        var val = $('#bus_type').find(":selected").val();
        alert(value);
  });//END

我希望在点击按钮后获得所选选项的值,但在第一次点击按钮时,我总是得到的值是第一个选项选择,但在第二次单击时我已经获得所选选项的值

//select option
 <label>Type of Business</label>
      <select class="form-control" name="bus_type" id="bus_type">
            <?php 
              foreach ($result as $value) {
                echo "<option value=".$value['id'].">".strtoupper($value['name'])."</option>";
              }
            ?>                   
      </select>

1 个答案:

答案 0 :(得分:0)

这是一个异步问题。您正在尝试在ajax调用完成之前获取所选选项并选择一个选项,因此默认情况下,第一个选项是&#34;选择&#34;一。您需要像这样修改代码:

$(document).on('click', '.renew', function(){
        var user_id3 = $(this).attr("id");
        $.ajax({
        url:"fetch.php",
        method:"POST",
        data:{user_id3:user_id3},
        dataType:"json",
        success:function(data)
        {
          $('#businessModal').modal('show');
          $('#requested_by').val(data.requested_by);
          $('#form_type').val(data.form_type);
          $('#bus_type').find('option[value="'+data.bid+'"]').prop('selected', true);   

          // this needs to be here
          var val = $('#bus_type').find(":selected").val();
          alert(value);
        }
      })

});//END