bsSuggest自动回填选中的值
2019-07-04 本文已影响0人
Alinawu
- 有个需求是,从拓展字段的下拉选择值,然后把params回填到参数的textarea,可以用onSetSelectValue监听事件实现。
- 另外有一个问题是,每一行都是动态生成的,参数的textarea的id根据行数叠加,那如何定位到点击第N行扩展字段的时候,回填第N行的textarea呢?
onSetSelectValue返回的第一个参数e就是指向当前点击的元素,我们可以根据这个元素找到当前行的textarea,具体实现如下:

$("#extend"+index).bsSuggest({
url: templatePrefix+"/getTemplateListByProjectId/"+$("#projectId1").val(),
/*effectiveFields: ["userName", "shortAccount"],
searchFields: [ "shortAccount"],*/
effectiveFieldsAlias: {templateName: "模板名称"},
ignorecase: true,
showHeader: true,
showBtn: false, //不显示下拉按钮
delayUntilKeyup: true, //获取数据的方式为 firstByUrl 时,延迟到有输入/获取到焦点时才请求数据
idField: "name",
keyField: "name",
clearable: false
}).on('onSetSelectValue', function (e, keyword, data) {
$('#stepParameters'+e.target.id.match(/[1-9][0-9]*/g)[0]).val(data["params"]);
});