У меня есть два текстовых поля: A и использование B Html.textboxfor
. TextBox включенного и Текстовое поле 'B' отключены.
Когда я ввожу значения в Текстовом поле и фокус изменения далеко от текстового поля, Текстовое поле 'B' должно быть заполнено с некоторым значением.
Например: Я ввожу значение TextBox = "Король"; если фокус потерян от поля, значением в Текстовом поле B должен быть "Peter", который должен быть переполнен автоматически.
Вы можете просто дать текстовому полю атрибут onblur и вызвать метод, который заполнит второе текстовое поле
что-то вроде:
<script language="javascript">
function fllB()
{
var txtB = document.getElementById("txtB");
var txtA = document.getElementById("txtA");
if (txtA.value == "King")
{
txtB.value = "Peter";
}
}
</script>
<input type="text" id="txtA" onblur="fillB()" />
<input type="text" id="txtB" />
Похоже, что вы хотите, чтобы второе текстовое поле всегда было отключено? Если да, то включите свойство disabled в textboxfor:
<%: Html.TextBoxFor( x => x.XXX, new { id = "txtA" }) %>
<%: Html.TextBoxFor( x => x.XXX, new { id = "txtB", disabled="true" }) %>
Для JavaScript, я предполагаю, что вы используете jquery, который включен в mvc: (Если вы не хотите очищать txtb, если значение удалено из поля A, то удалите оператор else)
$(function()
{
$("#txtA").change(function()
{
if ($("#txtA").val().length > 0) {
$("#txtB").val(function()
{
// Do something to populate #txtb ex: Peter
var myVar = "Peter";
return myVar;
});
}
else
{
$("#txtB").val("");
}
});
});
jQuery:
<script type="text/javascript">
$(function()
{
$("#txtA").change(function()
{
if(this.value == "King")
$("#txtB").attr("disabled", "").val( "Peter" );
});
});
</script>