另一个问题!我正在使用Ajax来获取与OfficeId Dropdown相关联的更新的计费域ID。
我需要动态更改的if语句。这是我想要完成的。 我希望基于BillingDomainID隐藏某些字段。例如,如果BillingDomainID为1,我想隐藏字段。诀窍在于我希望能够随着时间的推移而扩展,以便它也可以在出现时用于其他ID。
到目前为止,这是我没有取得任何成功的。
function getOfficeInfo(OID, BDID) {
//alert(OID);
//alert(BDID);
$.post("/UserControls/getOfficeInfo.asp", {OfficeID: OID}, function(data) {
BDID.val(data);
var vBDID
vBDID = ".BillingDomainID" + data;
//alert(vBDID);
if (data != 1) {
$(vBDID).hide();
}
});
//alert(data);
}
我只需要知道如何制作$(vBDID).hide();部分工作。
答案 0 :(得分:1)
有很多方法可以解决这个问题,因为你可以控制HTML我认为你有两种直接的方法:
创建字段地图到Billing Domains ID
Self.Generator.Element
然后您可以执行类似的操作(假设var fieldMap = {
'1': ['first-name', 'last-name', ...],
'2': ['first-name', 'last-name', 'ssn', ...],
...
};
是结算域ID:
data
在输入中添加类名,以指示显示哪些结算域ID
var $form = $('form');
// hide everything by default
$form.find('input').hide();
// show all fields that pertain to this domain
$form.find(fieldMap[data].map(function(field) {
// gives you '[name="first-name"]'), etc.
return '[name="'+field+'"]';
})).show();
然后:
<input type="text" name="first-name" class="domain-1 domain-2 domain-3" />
虽然如果你有很多域名,我觉得这样会有点混乱。
答案 1 :(得分:0)
我不确定为什么你的元素没有隐藏,除非你输错了你的类名。这是一个显示其工作原理的fiddle。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button class="someClass" type="button">
Hi there
</button>
$(function(){
var thing = '.someClass';
$('button').on('click', function(){
$(thing).hide();
})
});