可以有这样的多种方式。我有一个类似的任务,可以在几天前完成。我来到的方法如下:
- 我检查了选定的值。
- 然后我有几个数组,我需要根据条件在屏幕上填充值。
- 然后我自己创建我的HTML在div(s)中。
代码:
function CreateFormFields(control) {
$("#dynamicFieldsPanel").empty();
$("#normalDynamicFields").empty();
var selectedSurvey = control.options[control.selectedIndex].text; // The control on whose value I had to create dynamic fields.
var defaultLabels = ['Client Reference Number',
'Request Date',
'Survey Date',
'Survey Time'];
var labelsIfMandoobOrCPV = ['Company Name',
'Contact Person Name',
'Contact Number',
'City Client',
'Street Name',
'Building Name Client'];
var labelsIfAuto = ['Dealer Name (Seller)',
'Dealer Name (Buyer)',
'Street Name',
'Building Name',
'Contact Number',
'Chassis Number',
'Car Make',
'Car Model'];
defaultLabels.forEach(function (value) {
if (value.indexOf('Reference') !== -1) {
$("#normalDynamicFields").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '') + '" type="text" class="fields" /></li>');
}
else if (value.indexOf('Number') !== -1) {
$("#normalDynamicFields").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '') + '" type="text" class="fields" onkeypress="return isNumberKey(event);" MaxLength="11" /></li>');
}
else {
$("#normalDynamicFields").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '') + '" type="text" class="fields" /></li>');
}
});
if (selectedSurvey == "CPV" || selectedSurvey == "Mandoob") {
labelsIfMandoobOrCPV.forEach(function (value) {
if (value.indexOf('Number') !== -1) {
$("#dynamicFieldsPanel").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '') + '" type="text" class="fields" onkeypress="return isNumberKey(event);" MaxLength="11" /></li>');
}
else if (value.indexOf('Reference') !== -1) {
$("#dynamicFieldsPanel").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '') + '" type="text" class="fields" /></li>');
}
else {
$("#dynamicFieldsPanel").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '') + '" type="text" class="fields" /></li>');
}
});
}
else if (selectedSurvey == "Auto") {
labelsIfAuto.forEach(function (value) {
if (value.indexOf('Number') !== -1) {
$("#dynamicFieldsPanel").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '').replace("(", "").replace(")", "") + '" type="text" class="fields" onkeypress="return isNumberKey(event);" MaxLength="11" /></li>');
}
else {
$("#dynamicFieldsPanel").append('<li><p class="label">' + value + '</p><input id="txt' + value.replace(/\s+/g, '').replace("(", "").replace(")", "") + '" type="text" class="fields" /></li>');
}
});
}
AttachPluginsToControls();
}
现在,你不得不花些时间给这个代码来了解。但如果我正确理解了你的要求,那就足够了。
请使用您帖子底下的修改链接,在您的帖子中添加一些代码。 – reporter 2014-09-23 11:31:54
请帮忙@reporter – veera 2014-09-23 11:40:16
您是否选择了html元素进行选择? – Mahesh 2014-09-23 11:41:12