2

jquery グローバリゼーション プラグインを使用してこれを実行しようとしていますが、ブラウザーで失敗します (クライアント スクリプト エラーindexOf()) 。

var newquantity = $.global.parseFloat(edititem.find('td.edititem-quantity > input'));

私は次のような jquery 計算プラグインを使用していました。

var newdiscount = edititem.find('td.edititem-discount > input').parseNumber();

それは機能しましたが、いくつかの i18n オプションがあり、同じサイトで両方を使用するのではなく、これら 2 つのプラグインのいずれかを使用したいため、jquery グローバリゼーションに変更しています。

最初のものはなぜ失敗するのですか?

4

1 に答える 1

1

私はあなたが望むかもしれないと推測しています:

var newquantity = $.global.parseFloat(edititem.find('td.edititem-quantity > input').val());

<input>要素の値を取得します。

編集— 更新: おそらく値が null の場合があります:

var newquantity = 
  $.global.parseFloat(edititem.find('td.edititem-quantity > input').val() || '');

グローバリゼーション "parseFloat()" 関数のソース コードを見ると、最初の引数 (実際には、jQuery オブジェクトではなく文字列でなければなりません) で最初に行うことは、".indexOf()" の呼び出しです。渡された値が null の場合、すぐにエラーが発生します。

于 2011-04-19T22:41:20.333 に答える