2012-08-14 60 views
0

我有asp:标签来自数据库的手机字段绑定。我需要添加什么破折号,使手机格式的一样,而不是999-999-9999 99999999999. 我尝试类似的东西,但它不工作:通过jquery添加破折号到asp:标签手机字段

$(document).ready(function() 
    num = $('#<%=HomePhone.ClientID %>').innerText; 
    parts = [num.slice(0,3),num.slice(3,6),num.slice(6,10)]; 
    fNum = parts[0]+"-"+parts[1]+"-"+parts[2]; 
    num = fNum; 
}); 
+0

做它的服务器上!客户端是一个不好的地方。 – epascarello 2012-08-14 14:10:09

+0

首先,你的'$(document).ready(function()'缺少一个左括号 – timothyclifford 2012-08-14 14:20:56

+0

我不能在服务器上这样做,因为这个数据被很多控件使用,它只需要显示,然后回答下面from timothyclifford is amazing。反正感谢所有! – 2012-08-14 14:33:42

回答

0

HTML:

<p id="textbox">99999999999</p> 

的Javascript:

$(function() { 
    var num = $('#textbox').html(); 
    var parts = [num.slice(0, 3), num.slice(3, 6), num.slice(6)]; 
    var fNum = parts[0] + "-" +parts[1] + "-" + parts[2]; 
    $('#textbox').html(fNum); 
});​ 

小提琴:

http://jsfiddle.net/timothyclifford/h9ZCR/

+0

太棒了!非常感谢! – 2012-08-14 14:23:06

0

你的代码改成这样:

$(document).ready(function() { 
    num = $('#<%=HomePhone.ClientID %>').text(); // jQuery does not know innerText 
    parts = [num.slice(0,3),num.slice(3,6),num.slice(6,10)]; 
    fNum = parts[0]+"-"+parts[1]+"-"+parts[2]; 
    //num = fNum; // setting a variable's value does not change value of your text box 
    $('#<%=HomePhone.ClientID %>').text(fNum); // set the value using jQuery 
});