当下拉列表未选择任何内容时添加 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 值自动填充的主要内容,如果未能解决你的问题,请参考以下文章

Excel当下拉框选中时自动填充其他框

当下拉列表的值发生变化时,如何重新渲染 Flatlist?

未选择任何内容时将默认值保存在组合框中c#

Razor Html.DropDownListFor 自动设置选中值

OBIEE 中有 0 行的必填选项字段

当下拉列表表数据中的值更改时使用角度 js 的 mvc