jquery - 清除textbox1时如何清除textbox2的值(在选择textbox1的自动完成时动态添加)
问题描述
我有一个文本框,在该文本框的自动完成中,我添加了更多带有值的文本框。
下面是代码。
$(".autocomplete").autocomplete({
source: function (request, response) {
console.log(request.term);
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
$.ajax({
type : 'POST',
url : config.vnfURL + 'vnf/getPRIM',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: {
q: request.term
},
success: function (data) {
console.log(response);
response($.map(data, function(v,i){
var text = v.acronym;
var text2=v.functionDesignation;
if ( text && ( !request.term || matcher.test(text) ) ) {
return {
label: v.acronym.concat("_", v.functionDesignation,"_",v.versionDesignationText, "_",v.rstate,"_",v.productNumber),
};
}
}));
}
});
},
select: function (event, ui) {
var primArray=ui.item.value.split('_');
event.preventDefault();
$("#emsProductName").val(primArray[1]);
$("#emsRelease").val(primArray[2]);
$("#emsRelease").prop('disabled', true);
if(!$('#emsdynamic').length){
var divHTML = '<div id="emsdynamic">' +
'<div class="col-md-4 col-sm-4 col-xs-4">'+
'<label class="control-label">Product Number</label>'+
'<input type="text" class="form-control" id="emsProductNumber" disabled />'+
'</div>'+
'<div class="col-md-4 col-sm-4 col-xs-4">'+
'<label class="control-label">R State</label>'+
'<input type="text" class="form-control" id="emsRstate" disabled/>'+
'</div>'+
'</div>';
$("#emsDivision").append(divHTML);
$("#emsProductNumber").val(primArray[4]);
$("#emsRstate").val(primArray[3]);
}
else{
$("#emsProductNumber").val(primArray[4]);
$("#emsRstate").val(primArray[3]);
}
}
/* change: function(e) {
$('#emsProductNumber').val('');
$("#emsRstate").val('');
$('#emsRelease').val('');
$("#emsRelease").prop('disabled', false);
$("#emsdynamic").hide();
}*/
});
一切正常。现在,如果我清除自动完成文本框(emsProductName)的值,我如何清除动态创建的 tetxboxes 的值?
我已经尝试使用 Change 事件,但它没有按预期工作。
解决方案
你可以通过像fiddle这样的 keyup 来实现
$('.autocomplete').keyup(function(e) {
if ($('.autocomplete').val() == '') {
$('#emsProductNumber').val('');
$("#emsRstate").val('');
$('#emsRelease').val('');
$("#emsRelease").prop('disabled', false);
$("#emsdynamic").hide();
}
});
由于您隐藏在 clear 上,因此您必须在 else 上再次调用 show $("#emsdynamic").show(); // my assumption
推荐阅读
- mysql - 从左连接表的左表中获取总和
- javascript - 无法从 HTML 中的自动填充表单更新 SQL 表中的数据
- javascript - 如何从charts.youtube.com 抓取音乐排行榜和见解页面?
- python - 将 python 文件转换为可执行文件时会发生什么?
- java - 带有 spring-boot-starter-test 的 JUnit4 与 JUnit5
- wordpress - 在 WordPress 中插入标签
- java - 无法引用变量 - 找不到符号
- python-3.x - NOT NULL 约束失败:/jobs/add/ 处的jobs_job.created_by_id IntegrityError
- input - 如何在 LispWorks 中正确询问用户的输入?
- android - 在 recyclerview kotlin 中加载更多内容时如何不重写项目?