当下拉列表未选择任何内容时添加 NULL 值自动填充
Posted
技术标签:
【中文标题】当下拉列表未选择任何内容时添加 NULL 值自动填充【英文标题】:Autofill with NULL value add when the dropdown list didn't select anything 【发布时间】:2011-12-14 17:36:16 【问题描述】:当下拉列表中没有数据选择时,我需要用 NULL 值填充文本框。这里有一些我正在使用的代码,但仍然不知道我应该为这个问题添加什么。有什么想法吗?
例子:
function ew_AjaxAutoFill(obj)
if (ewLang.isString(obj))
obj = ew_GetElements(obj);
var ar = ew_GetOptValues(obj);
var id = ew_GetId(obj);
var sf = document.getElementById("sf_" + id);
if (ar.length < 1 || ar[0] == "" || !sf || sf.value == "")
return;
var ds = new ewUtil.XHRDataSource(EW_LOOKUP_FILE_NAME);
ds.responseSchema.recordDelim = EW_RECORD_DELIMITER;
ds.responseSchema.fieldDelim = EW_FIELD_DELIMITER;
ds.responseType = ewUtil.DataSourceBase.TYPE_TEXT;
ds.maxCacheEntries = 0;
var f = function(oRequest, oParsedResponse)
var aResults = oParsedResponse.results;
var id = ew_GetId(this);
var dn = document.getElementById("ln_" + id);
var destNames = (dn) ? dn.value : "";
var dest_array = destNames.split(",");
var destEl, asEl, dfv;
for (var j=0; j < dest_array.length; j++)
destEl = ew_GetElements(dest_array[j]);
if (destEl && j < aResults[0].length)
dfv = aResults[0][j];
if (destEl.options || destEl.length)
ew_SelectOpt(destEl, ar);
else if (destEl.type == "hidden")
asEl = ew_GetElements("sv_" + dest_array[j]);
if (asEl)
destEl.value = ar[0];
asEl.value = dfv;
else
destEl.value = dfv;
else if (destEl.type == "textarea")
destEl.value = dfv;
if (typeof ew_UpdateDhtmlEditor == "function")
ew_UpdateDHTMLEditor(dest_array[j]);
else
destEl.value = dfv;
var sQuery = "?q=" + encodeURIComponent(ar[0]) + "&s=" + sf.value;
ds.sendRequest(sQuery, f, obj);
【问题讨论】:
用空值填充文本框?这对我来说似乎很奇怪。澄清您的问题,并可能删除代码示例。 【参考方案1】:在下拉列表中设置默认值。对于该默认值,清除文本字段的内容:
<select onchange="document.getElementById('myArea').innerHTML=this.value">
<option value=''> ----- </option>
<option value='Yes'> Yes </option>
<option value='Yes'> No </option>
</select>
<textarea id='myArea'></textarea>
在 2 个文本区域之间不接受任何空格对您来说很重要。否则,可以发送非空值。
【讨论】:
以上是关于当下拉列表未选择任何内容时添加 NULL 值自动填充的主要内容,如果未能解决你的问题,请参考以下文章