PDA

View Full Version : جدا كردن قيمت (10,000) هنگام تايپ در text box



dr-solomons
پنج شنبه 09 اردیبهشت 1389, 20:12 عصر
با سلام
من اسكريژتي مي خام كه وقتي كاربر داره قيمت رو در text box تايپ مي كنه اتوماتيك يه تيك (,) براي جدا كردن اون بزاره
مثل
10,000,000

قبلا من در يكي از سايتهاي فروشگاهي ديده بودم ولي يادم نيست كدوم بود
با تشكر از دوستان

Keramatifar
پنج شنبه 09 اردیبهشت 1389, 23:19 عصر
دوست عزیز
اگر برای CodeBehind از asp.net استفاده میکنی، کامپوننت RadNumericTextBox از شرکت Telerik دقیقا همین کار رو میکنه، اکثر سایت هایی هم که من دیدم از همین کامپوننت استفاده کردن، البته JavaScript های آماده هم برای اینکار هست، میتونی JavaScript NumericTextBox رو Search کنی

m.hamidreza
شنبه 11 اردیبهشت 1389, 00:09 صبح
کلا مواردی که میشه بدون Telerik و با صرف زمان کمی کد نوشت Telerik استفاده نشه بهتره.
این کد رو من تو سیستمم داشتم:


<html>
<head>
<script>
function insertCommaTotalFrom(field)
{
var price;
price="";
while(field.value.indexOf(',')!=-1)
{
field.value=field.value.replace(',','');
}

txt_field=document.getElementById("ttd");
txt_field=field.value.length;
var counter=0;
for(var i=txt_field-1;i>=0;i--)
{
price=field.value.charAt(i)+price;
counter++;
if(counter%3==0&&i>0)
{
price=','+price;
counter=0;
}
}
field.value=price;
}
</script>


</head>
<body>
<input type=text size=30 onkeydown=insertCommaTotalFrom(this); onkeyup=insertCommaTotalFrom(this);>
</body>
</html>


فکر کنم بهروز راد نوشته دقیق یادم نیست.
موفق باشید.

rash44
شنبه 11 اردیبهشت 1389, 09:39 صبح
function num2money(num){
num=money2num(num);
var le=num.length;
var money='';
var c=0;
for(a=le-1;a>=0;a--){
c++;
if(c%3==1 && c>1) theChar=','; else theChar='';
money=num.substr(a,1)+theChar+money;
}

return money;
}
function money2num(money){
var num=money.replace(/,/g,'');
return num;
}


و


<input type="text" name="price" size="20" onkeyup="this.value=num2money(this.value);">