文本框的占位符值不会更改为原始值?

Posted

技术标签:

【中文标题】文本框的占位符值不会更改为原始值?【英文标题】:The placeholder value of a text box is not changing to original value? 【发布时间】:2021-12-23 03:17:24 【问题描述】:

我有一个 cshtml/razor html 文件,其中有一个具有占位符值的文本框。占位符值根据用户单击的单选按钮而变化。例如,如果用户选择单选按钮酒店,则占位符值将设置为“请输入城市”,如果用户单击“空中”单选按钮,占位符的值将设置为“请输入机场”。一旦我继续从各种单选按钮移动,占位符的值就会发生变化最终在空中单选按钮时出现的占位符的值给出了其他单选按钮占位符的值

@Html.TextBoxFor(m => m.airTravelComponentSubRequestOneWay.DepartureAirport, new @placeholder = @Resource.CityAirport, @id = "SearchViewModels_airTravelComponentSubRequestRoundTrip_DepartureAirport", @class = "search-element-master small-12 pad10", autocomplete = "off" )

这是文本按钮的html

【问题讨论】:

【参考方案1】:

你可以尝试用js来改变占位符:

<input type="radio" id="hotel" value="hotel"  name="type"/>hotel
<br />
<input type="radio" id="air" value="airport" name="type"/>air
<br />
<input type="radio" id="other" value="other" name="type"/>other
<br />
@Html.TextBoxFor(m => m.airTravelComponentSubRequestOneWay.DepartureAirport, new  @placeholder =  @Resource.CityAirport, @id = "SearchViewModels_airTravelComponentSubRequestRoundTrip_DepartureAirport", @class = "search-element-master small-12 pad10", autocomplete = "off" )

js:

$("input[name='type']").click(function () 
            var placeholder = "Please enter the " + $(this).val();
            $("#SearchViewModels_airTravelComponentSubRequestRoundTrip_DepartureAirport").attr("placeholder", placeholder);
            
        );

结果:

【讨论】:

以上是关于文本框的占位符值不会更改为原始值?的主要内容,如果未能解决你的问题,请参考以下文章

使用源代码管理更改文本框的内容

文本框的占位符警告

Tailwind CSS 更改占位符选项的文本颜色

在焦点 jquery 上将占位符输入类型文本更改为密码

如何使用 CSS 设置占位符值?

iOS 占位符文本被裁剪,字体不会改变