2

HTML

<input type='text' id='costs' value='100' size='3'></input>

JQuery

var costs = $("#costs");
var c = parseFloat(costs.val().replace(",",".")); //germany ;)
costs.text(c);

入力フィールドを空のままにすると、NAN が返されます。入力フィールドが空の場合に 0 に置き換えるには、何を変更する必要がありますか?

4

4 に答える 4

6
var val = costs.val().replace(",","."),
c = isNaN(val) ? 0 : parseFloat(val);
于 2012-04-22T18:00:30.687 に答える
1

フォーム送信をキャプチャします。すべての入力を検索し、テキストが空かどうかを確認します。空である場合は、「0」を追加します。

$('#form').submit(function(){
  var theInputs = $(this).find('input');
  $.each(theInputs, function(i,obj){
    if($(obj).text() == ''){ //we could have checked for empty. I checked for no string.
      $(obj).text('0');
      return true; //let the form continue with the submit.
    }
  });
});
于 2012-04-22T17:59:43.757 に答える
1

ユーザーケースはわかりませんが、簡単なチェックを行っNaNて0に設定するだけです.

このような:

$("#set").click(function(){
    var costs = $("#costs");
    var c = parseFloat(costs.val().replace(",",".")); //germany ;)
    alert(c);
    if(!isNaN(c)) {
        costs.val(c);
    } else {
        costs.val("0");
    }
});
​

HTML:

<input type='text' id='costs' value='100' size='3'></input>
<button id="set">Set</button>

ここで動作するデモを参照してください: http://jsfiddle.net/jBeN9/

コードを非常に簡潔に見せたい場合は、このような三項演算子を使用できますが、同じことです。:

$("#set").click(function(){
    var costs = $("#costs");
    var c = parseFloat(costs.val().replace(",",".")); //germany ;)
    costs.val((isNaN(c) ? "0" : c));
});

</p>

于 2012-04-22T18:00:17.377 に答える
1

NaN を 0 に置き換えたい場合は、次のように記述します。

var c = parseFloat(costs.val().replace(",",".")) || 0;
于 2013-11-01T05:43:39.410 に答える