C# 如果用户选择了选项,如何更改占位符文本
我目前在asp表单组中有2个选项值,其中一个代表国家,另一个代表州/省。有没有办法交换课文 例如,当用户选择加拿大时,占位符文本将是省,而当选择美国时,占位符将是州C# 如果用户选择了选项,如何更改占位符文本,c#,asp.net,asp.net-mvc,forms,C#,Asp.net,Asp.net Mvc,Forms,我目前在asp表单组中有2个选项值,其中一个代表国家,另一个代表州/省。有没有办法交换课文 例如,当用户选择加拿大时,占位符文本将是省,而当选择美国时,占位符将是州 <form> <div class="form-group"> <select asp-for="Country" class="form-control" required="required"> <option value="Canada">Canada
<form>
<div class="form-group">
<select asp-for="Country" class="form-control" required="required">
<option value="Canada">Canada</option>
<option value="U.S">U.S</option>
</select>
</div>
<div class="form-group">
<input asp-for="State" class="form-control" placeholder="Province" />
<span asp-validation-for="State" class="text-danger"></span>
</div>
<button type="submit"> Submit </button>
<form>
加拿大
美国
提交
您可以使用jquery或javascript实现这一点,请查看下面的代码片段
加拿大
美国
提交
$(文件)。关于(“变更”,“国家”,函数(){
var值=$(this.val();
如果(值==“加拿大”){
$(“州”).prop(“占位符”、“省”);
}
否则,如果(值==“美国”){
$(“状态”).prop(“占位符”、“状态”);
}
});
您可以通过多种方式完成,请参见下面的代码示例
<form>
<div class="form-group">
<select asp-for="Country" class="form-control" required="required" id="slCountry" onchange="changeCountry()">
<option value="Canada">Canada</option>
<option value="U.S">U.S</option>
</select>
</div>
<div class="form-group">
<input asp-for="State" class="form-control" id="txtState" placeholder="Province" />
<span asp-validation-for="State" class="text-danger"></span>
</div>
<button type="submit"> Submit </button>
</form>
<script>
function changeCountry() {
if ($("#slCountry").val() == "Canada") {
document.getElementById("txtState").setAttribute("placeholder", "Province")
} else {
document.getElementById("txtState").setAttribute("placeholder", "State")
}
}
</script>
加拿大
美国
提交
功能更改国家(){
如果($(“#slCountry”).val()=“加拿大”){
document.getElementById(“txtState”).setAttribute(“占位符”、“省”)
}否则{
document.getElementById(“txtState”).setAttribute(“占位符”、“状态”)
}
}
----------------------------aspx.cs代码---------------------------------------
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
公共部分类测试:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
受保护的无效国家/地区\u选择的索引已更改(对象发送方,事件参数e)
{
如果(ddlCountry.SelectedValue.ToString()=“美国”)
{
添加(“占位符”、“状态”);
}
if(ddlCountry.SelectedValue.ToString()=“加拿大”)
{
添加(“占位符”、“省”);
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlCountry" runat="server" OnSelectedIndexChanged="Country_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="Canada" Text="Canada"></asp:ListItem>
<asp:ListItem Value="USA" Text="USA"></asp:ListItem>
</asp:DropDownList>
</div>
<br />
<asp:TextBox ID="txtShow" runat="server"></asp:TextBox>
</form>
</body>
</html>
----------------------------aspx.cs code---------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Country_SelectedIndexChanged(object sender, EventArgs e)
{
if(ddlCountry.SelectedValue.ToString() == "USA")
{
txtShow.Attributes.Add("Placeholder", "State");
}
if (ddlCountry.SelectedValue.ToString() == "Canada")
{
txtShow.Attributes.Add("Placeholder", "Province");
}
}
}