当ajax调用成功时,我需要刷新select(按id)。
但我不知道怎么处理
ajax函数:

$('#insertForm').on('click', function(){
  var form_intitule = $('input[name=form_intitule]').val();
  $.ajax({
    type: "GET",
    url: "lib/function.php?insertForm="+insertForm+"&form_intitule="+form_intitule,
    dataType : "html",
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert(XMLHttpRequest + '--' + textStatus + '--' + errorThrown);
    },
    success:function(data){
      /*here i need to reload #listeFormation*/      }
  });
});

html.php文件
<div class="form-group">
  <label for="nomSalarie" class="col-sm-1 control-label" id="nameSelect">Formations</label>
  <div class="col-sm-11">
    <select name="listeFormation[]" id="listeFormation" class="form-control" multiple>';
      while($ligne = $displayFormation->fetch()){
        $data['formation'] .='<option value="'. $ligne['form_id'].'">'.$ligne['form_intitule']. " [" . $ligne['form_organisme'] . "]".'</option>';
      }
    </select>
  </div>
</div>

最佳答案

我有两种想法:
使用jquery中的$.load(),比如:(这是一个get,它将响应注入到您选择的节点中)

$('#insertForm').on('click', function(){
  var form_intitule = $('input[name=form_intitule]').val();

  $("#listeFormation").load(
    "lib/function.php",
    {
      insertForm: insertForm,
      form_intitule: form_intitule
    },
    function(response, status, xhr){
      if(status == "error"){
        alert(xhr + '--' + xhr.status + " " + xhr.statusText);
      }else{
        // Process the HTML you want here.. lets call: 'html_you_want_to_inject'

        $('#listeFormation').html(html_you_want_to_inject);
      }
    }
  });
});

使用您的代码,您可以简单地使用:
$("#listeFormation").html(html_you_want_to_inject);

我想需要考虑的一点是,从div中删除php并将这个div dinamic转换为使用javascript加载页面。每次ajax运行时都会终止php,在运行时重写内容。

09-10 02:47
查看更多