2013-02-01 36 views
0

我有这样的代码在这里ASP.NET格式获得多个文本框ID在JavaScript

<asp:TextBox ID="BuildingNameTextBox" runat='server' placeholder="Building Name" Text='<%# Bind("BuildingName") %>' /> 
<asp:TextBox ID="AddressTextBox" runat="server" placeholder="Example: 8th Floor, Sun Life Centre, 5th Avenue corner Rizal Drive, Fort Bonifacio Taguig City" Text='<%# Bind("Address") %>' /> 
<asp:TextBox ID="CityTextBox" placeholder="Use the autocomplete." runat="server" Text='<%# Bind("City") %>' /> 
<asp:TextBox ID="RegionTextBox" placeholder="Use the autocomplete." runat="server" Text='<%# Bind("Region") %>' class="subMarkets"/> 

这个代码在JavaScript

$("#BuildingNameTextBox").data("holder", $("#BuildingNameTextBox").attr("placeholder")); 
      $("input").focusin(function() { 
       $(this).attr("placeholder", ""); 
      }); 
      $("input").focusout(function() { 
       $(this).attr("placeholder", $(this).data("holder")); 
      }); 

的JavaScript的功能是去除占位符时文本框处于焦点状态,并在未处于焦点状态时恢复相应文本框的文本 我似乎无法找到恢复后续文本框的适当文本的方法。

E.g.当我选择Building文本框时,文本框的下一个占位符将被BuildingTextBox(Building)的占位符替换。

我需要找到一种方法来使占位符恢复到适当的文本框。谢谢

回答

0

添加一个名为的文件准备用于填充所有这些方法,而不是仅仅#buildingnametextbox:

$("input").each(function() { 
    $(this).data("holder", $(this).attr("placeholder")); 
}); 

OR

在您的标记,添加数据值:

<asp:TextBox ID="BuildingNameTextBox" runat='server' data-holder="Building Name" placeholder="Building Name" Text='<%# Bind("BuildingName") %>' /> 
<asp:TextBox ID="AddressTextBox" runat="server" data-holder="Example: 8th Floor, Sun Life Centre, 5th Avenue corner Rizal Drive, Fort Bonifacio Taguig City" placeholder="Example: 8th Floor, Sun Life Centre, 5th Avenue corner Rizal Drive, Fort Bonifacio Taguig City" Text='<%# Bind("Address") %>' /> 
<asp:TextBox ID="CityTextBox" data-holder="Use the autocomplete." placeholder="Use the autocomplete." runat="server" Text='<%# Bind("City") %>' /> 
<asp:TextBox ID="RegionTextBox" data-holder="Use the autocomplete." placeholder="Use the autocomplete." runat="server" Text='<%# Bind("Region") %>' class="subMarkets"/> 
+0

谢谢!这解决了我的问题。 –

0

当输入焦点时,占位符将立即被删除,如果您输入任何文本,它将不再显示占位符!

因此,即使每次“#buildingnametextbox”失去焦点时都更改占位符值,它将毫无用处,因为您不会使用它。假设用户将该字段留空...这也将清空占位符,并且我认为您不希望发生这种情况:)

相关问题