Имам автодовършване на jQuery ui, което показваИме на фирма и на скрито текстово поле Получих CompanyNumber (специален идентификатор, който фирмата, в която работя, използва за идентифициране на всяка компания) и всичко работи добре, извлича и показва името на компанията и получава дължимия CompanyNumber в скритото поле. ..но
Проблем: когато потребителят изтрие името на компанията, стойността на companyNumber в скритото поле остава и искам тя също да изчезне, как може да се постигне това? някаква помощ моля?
това е моят jQuery код и двете полета
<script type="text/javascript">
$(document).ready(function () {
$("#SearchString").autocomplete({
source: function (request, response) {
$.ajax({
url: "@Url.Action(actionName: "autocompletar", controllerName: "Borrar")",
type: "GET",
dataType: "json",
data: { prefix: request.term },
success: function (data) {
response($.map(data, function (item) {
return { value: item.np, label: item.empresa };
}))
}
})
},
select: function (event, ui) {
if (ui.item) {
$("#numeroPatronal").val(ui.item.value);
$("#SearchString").val(ui.item.label);
event.preventDefault();
return false;
}
},
focus: function (event, ui) {
$("#numeroPatronal").val(ui.item.value);
// $("#txtmasterserach").val(ui.item.label);
event.preventDefault();
return false;
},
messages: {
noResults: "", results: ""
},
error: function (response) {
alert("Error" + res.responseText);
}
});
});
</script>
<div class="container col-md-10 col-md-offset-3">
@using (Html.BeginForm())
{
<p> Empresa: @Html.TextBox("SearchString") </p>
<p> Número Patronal: @Html.TextBox("numeroPatronal") </p>
<input type="submit" value="submit" />
}
</div>
първо избирам от полето за автоматично довършване желаната компания
след като името на фирмата бъде избрано и попълва полето на фирмения номер с необходимата информация (двете полета съдържат информация, но аз просто изтрих, защото не е публичен)
но ако изтрия името на фирмата от текстовото поле за автодовършване, фирменият номер на компанията просто изтри реамини и искам да изчезне
функцията jQuery
$("#SearchString").on("input", function () {
if (!$("#SearchString").val()) {
$("#numeroPatronal").val("");
}
})
Отговори:
0 за отговор № 1Този пример би трябвало да ви помогне, тъй като не мога да видя HTML кода ви, просто сложете различен идентификатор във вашия вход, след това добавете input
събитие до 1во вход, когато първият вход е празен, също така изпразнете втория вход.
$(document).ready(function() {
$("#input1").on("input", function() {
if (!$("#input1").val()) {
$("#input2").val("");
}
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Input 1: <input id="input1" value="11111"></div>
<div>Input 2: <input id="input2" value="22222"></div>