2017-12-20 13 views
0

私は価格スライダーを持っていて、ユーザーが価格スライダーを変更したときにコンテンツをリロードする必要があります。イベントが発生し、負荷機能が有効になり、私はここでエラーJQueryスライダイベントとロード機能を変更する

TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement. 

を次取得するときにそれが競合になるのはなぜしかし私のコード

$(".range-filter").on('slidechange', function(){ 

    var formdata = $("#filterList").serializeObject(); 
    var attrfilter = $("#filterList").find('input[name^=attrfilter]:checked'); 
    alert("yey"); 

    $("#productList").load(
     url, 
     { 
      formdata: formdata, 
      attrfilter: attrfilter 
     }, 
     function(responseText, statusText, xhr){ 
      if(statusText == "success") 
       return; 
      if(statusText == "error") 
       return; 
     } 
    ); 
}); 

のですか? 代わりに、通常のajax関数を使用する必要がありますか?彼らはAjax呼び出しのデータとして送信するオブジェクトに与えることができ、有効な値(負荷関数の第二パラメータ)あるかどうかを確認するために

+0

plunkrを作成できますか? –

答えて

0

ログインformdataattrfliter

私は上記の行が問題を引き起こしていると信じています。 attrfilterは、jQueryのDOM要素オブジェクトになります。trueまたはfalseではなく、Ajax呼び出しのデータを渡したいと思います。あなたは何ができるか

は次のとおりです。

var attrfilter = $("#filterList").find('input[name^=attrfilter]').prop("checked") 
// will return true or false 

も参照してください。

TypeError: stepUp called on an object that does not implement interface HTMLInputElement

TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement

0

をはい私はこのような値をマッピングするために忘れてしまった:

 attrfilter = $.map(attrfilter, function(element) 
    { 
     var start = element.name.indexOf('[')+1; 
     var end = element.name.indexOf(']'); 
     return {id: element.name.substring(start, end), value: element.value}; 
    }); 
関連する問題