私はTelerikグリッドを使用してMVC3のページを持っています。グリッドでは、各行に対して、小数点を入力するテキストボックスです。私は、jQueryプラグイン(autoNumeric.js)に接続するために使用されるCSSクラス、 'HoursNew'を持っています。また、小数点の入力を最も近い半分の10進数に丸めるonBlur関数もあります。 問題は、列をソートした後、すべてのJavaScriptが動作を停止しているように見えることです。 autoNumeric.jsは、onBlurを起動した関数と一緒に動作しなくなります。Telerik MVCグリッド - 並べ替えがJavaScriptを停止
$(document).ready(function() {
$('.HoursNew').autoNumeric({ pSign: 's', vMin: '-999.5', vMax: '999.5', mRound: 'C', aPad: false });
$('.HoursNew').blur(function() { roundToHalf(this); });
});
// Round decimal to nearest .5
// v is input object
function roundToHalf(v) {
var value = v.value;
var r;
//alert(v.id);
var converted = parseFloat(value); // Make sure we have a number
var decimal = (converted - parseInt(converted, 10)); // Pull the decimal value
decimal = Math.round(decimal * 10);
if (decimal == 5) { return (parseInt(converted, 10) + 0.5); } // leave alone if .5
if ((decimal < 3) || (decimal > 7)) {
r = Math.round(converted); // Round up or down to nearest whole number
} else {
r = (parseInt(converted, 10) + 0.5); //round to .5
}
//alert(r);
// reset input value to new value
$('#' + v.id).val(r);
}
ページは最初の読み込み時に問題なく、ソート後にこの問題が発生します。助言がありますか?
ほとんど...私はonDataBoundで全体のスクリプトタグを追加する必要がありました。 autoNumeric({pSign: 's'、vMin: '-999.5'、vMax: '999.5'、 'vCard:'999')は、$( '。HoursNew')。blur(function(){roundToHalf(this);}); }); } ' – Greg
...リンクに感謝します。今すぐうまくいく。 – Greg