当下拉列表未选择任何内容时,将添加具有NULL值的自动填充

时间:2011-10-25 07:51:31

标签: javascript ajax

我需要在下拉列表中没有数据选择时填充带有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 个答案:

答案 0 :(得分:0)

在下拉列表中设置默认值。对于该默认值,请清除文本字段的内容:

<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 textarea之间接受任何空格。否则,可以发送非空值。