TypeError:laravel中未定义e.nodeName

时间:2019-01-15 15:09:13

标签: javascript jquery ajax laravel

我有几个选择框,并且每个选择框的数据都是根据先前的选择框选项返回的。

以前我有3个选择框,但一切正常,现在我需要添加额外的选择框,那些旧的选择框仍能正常工作,但是这个新选择框返回TypeError: e.nodeName is undefined

屏幕截图

也许这张图片可以解释得更好

one

代码

Javascript

为了使代码更短,更简洁,我删除了不必要的部分并评论了每个部分的作用。

当前问题是function substricsfunction(){

<script>
  $(document).ready(function() {
      $('#province').on('change', function() { 
          var provinceID = $(this).val();
         //ajax cal to return city names when state name changes (no. 2 image above)
      }); 
  });


  jQuery( document ).ready( function( $ ) {
    $('body').on('change', '#city', function(e){
      $.ajaxSetup({
          headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }
      });

       var cityID = $(this).val();

       var weight = ["{{$totalWeight}}"];
        if(cityID) {
            $.ajax({
              url: '{{ url('rajaajax') }}/'+weight+'/'+encodeURI(cityID),
              type: "GET",
              dataType: "json",
              success:function(data) {
                //return data in select-box (no.4 image above)
              }
            });

            //custom function
            myfunction();
            substricsfunction();
        }else{
          $('select[name="postchoose"]').empty().append("<option value='' selected>Pilih</option>");
        }
    });
  });



  function myfunction(){
      //return some more data in select-box (no.4 image above)
  };

  //newpart ( we work on this now )
  function substricsfunction(){
      $.ajaxSetup({
          headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }
      });
       var hfg = $(this).val();
        if(hfg) {
            $.ajax({
              url: '{{ url('rajaajaxsubdistrict') }}/'+encodeURI(hfg),
              type: "GET",
              dataType: "json",
              success:function(data) {
                console.log(data);
                //
                $('select[name="subdistrict"]').empty().append("<option value='' selected>Pilih</option>");
                $.each(data.data, function(key, value) {
                    $.each(value.data, function(key2, value2) {
                    $('select[name="subdistrict"]').append('<option id="subdistrict" class="form-control"  value="'+ value2.subdistrict_id +'">'+ value2.subdistrict_name +'</option>');
                     });
                });
                //
              }
            });
        }
    };
  //newpart

</script>

更多信息

URL {{ url('rajaajaxsubdistrict') }}/'+encodeURI(hfg)等于site.trg/rajaajaxsubdistrict/27的数据返回为

two

所以我的错误TypeError: e.nodeName is undefined并非与后端有关,而与该功能有关的所有错误都属于

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

已解决

我将var hfg = $(this).val();更改为var hfg = $("#city option:selected").val();并解决了问题