我有一个文本和一个隐藏的输入字段。 我希望从输入字段中删除值,如果它是空的,则隐藏的框值应为零,但这不起作用。
$(document).ready(function () {
$(document).on('keyup', '#placeByCountryName', function (e) {
e.preventDefault();
alert("hi");
if (($('#placeByCountryName').val().length === 0) || ($('#placeByCountryName').val() === "")) {
$('#placeByCountryId').val(0);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="hidden" name="atomAddressDetail.placeByCountryId.id" id="placeByCountryId" value="44" class="addressdetail form-control" />
<input type="text" name="atomAddressDetail.placeByCountryId.name" id="placeByCountryName" class="addressdetail form-control" value="India" placeholder="Country" />
但这不起作用。 如何解决上述问题?
编辑我从自动填充中获取了一些ID,名称值到我的文本框placeByCountryName
,其placeByCountryId'. If user erase
placeByCountryName then its
placeByCountryId`中的相应ID应为零。
答案 0 :(得分:2)
您需要在输入类型文本上附加事件,而不是在输入类型隐藏元素上附加事件:
$(document).on('keyup', '#placeByCountryName', function (e) {
e.preventDefault();
alert("hi");
if (($(this).val().length === 0) || ($(this).val() === "")) {
$('#placeByCountryId').val(0);
}
});
答案 1 :(得分:2)
应该是
$(document).on('keyup', '#placeByCountryName', function (e) {
});
而不是:
$(document).on('keyup', '#placeByCountryId', function (e) {
});
答案 2 :(得分:1)
您需要使用type="text"
,因为keyup
无效hidden
<input type="text" id="placeByCountryId" value="44" class="addressdetail form-control" />
$(document).ready(function () {
$(document).on('keyup', '#placeByCountryId', function (e) {
e.preventDefault();
alert("hi");
if (($(this).val().length === 0) || ($(this).val() === "")) {
$(this).val(0);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" name="atomAddressDetail.placeByCountryId.id" id="placeByCountryId" value="44" class="addressdetail form-control" />
<input type="text" name="atomAddressDetail.placeByCountryId.name" id="placeByCountryName" class="addressdetail form-control" value="India" placeholder="Country" />
或{绑定Country Name
文本框
$(document).on('keyup', '#placeByCountryName', function(e) {
if (($(this).val().length === 0) || ($(this).val() === "")) {
$('#placeByCountryId').val(0);
}
});