tempData = result; return '<input class="easyui-combobox" ' + 'data-options="valueField:\'date_code\',textField:\'data_name\',data:tempData">'如何把tempData 放到input的data里去
时间: 2024-02-27 10:55:51 浏览: 19
您可以使用 jQuery 来实现将 `tempData` 放到 `input` 的 `data` 属性中去。假设您已经在 HTML 页面中引入了 jQuery 库,那么您可以使用以下代码实现:
```javascript
// 获取 result 数据后,将其赋值给 tempData 变量
var tempData = result;
// 获取到需要设置 data 属性的 input 元素
var inputEl = $('input.easyui-combobox');
// 使用 jQuery 的 data() 方法将 tempData 设置为 input 元素的 data 属性值
inputEl.data('data', tempData);
```
这样,`tempData` 就会被设置为 `input` 元素的 `data` 属性值,可以在 EasyUI 中使用。
相关问题
{field: 'commodityConfig',title: "配置",width:200, formatter:function(value,row,index){ //根据commodityId查询配置。 var tempData = null; debugger; $.ajax({ // url:contextPath +"/manage/platform/commodity/baseCommodityModelCp/getConfigInfoList?commodityId="+row.commodityId, url:contextPath +"/manage/platform/commodity/baseCommodityModelCp/getConfigInfoList", data: {"commodityId": row.commodityId}, async: false, success: function (result) { debugger; tempData = result; }, }); var inputHtml = '<input class="easyui-combobox" ' + 'data-options="valueField:'date_code',textField:'data_name'">'; var inputEl = $(inputHtml); inputEl.data('data', tempData); return inputEl.prop('outerHTML'); },下拉框没有值
您的代码中有一处语法错误,应该使用转义字符 `\` 来转义字符串中的单引号 `'`。
修改前:
```javascript
var inputHtml = '<input class="easyui-combobox" ' + 'data-options="valueField:'date_code',textField:'data_name'">';
```
修改后:
```javascript
var inputHtml = '<input class="easyui-combobox" ' + 'data-options="valueField:\'date_code\',textField:\'data_name\'">';
```
另外,根据您提供的代码,我发现您在 AJAX 请求中使用了 `async:false`,这会导致浏览器在请求数据时被阻塞,可能会影响页面性能。建议您改为使用异步请求,并在请求成功后再进行下一步操作。
修改后的代码如下:
```javascript
{
field: 'commodityConfig',
title: "配置",
width: 200,
formatter: function(value, row, index) {
//根据commodityId查询配置。
var tempData = null;
$.ajax({
url: contextPath + "/manage/platform/commodity/baseCommodityModelCp/getConfigInfoList",
data: {"commodityId": row.commodityId},
success: function(result) {
tempData = result;
var inputHtml = '<input class="easyui-combobox" data-options="valueField:\'date_code\',textField:\'data_name\'">';
var inputEl = $(inputHtml);
inputEl.data('data', tempData);
inputEl.appendTo('body'); // 将 input 元素插入到 DOM 中
}
});
return '';
}
}
```
同时,您需要在页面中引入 EasyUI 的 CSS 和 JS 文件,以便样式和脚本能够正常加载。
提升代码速度 foreach (R_DistributionAllopatry r_DistributionAllopatry in q) { BaseBusiness<DMS_TempData> DMS2_Month = new BaseBusiness<DMS_TempData>("monthdb"); var DMS2_MonthService = DMS2_Month.Service; //var qq = Service.GetIQueryable<DMS_TempData>().Where(a => a.SampleID == r_DistributionAllopatry.NewSampleId); var qq = DMS2_MonthService.GetListBySql<DMS_TempData>("select * from DMS_TempData" + r_DistributionAllopatry.TestDataTableName + " where sampleId='" + r_DistributionAllopatry.NewSampleId + "'"); if (qq.Count() > 0) r_DistributionAllopatry.IsCompleted = true; }
这段代码中存在较大的性能问题。主要有以下两点:
1. 在 foreach 循环中,每次都会实例化一个 BaseBusiness 对象,这可能会导致不必要的开销。可以将实例化的代码提到循环外部,避免重复创建对象。
2. 在循环内部,执行了一条 SQL 查询语句,这也会导致性能问题。可以考虑将查询语句改为使用 Entity Framework 的 Linq 语句,或者使用存储过程等方式来避免 SQL 查询语句的性能问题。
改进后的代码如下所示:
```
BaseBusiness<DMS_TempData> DMS2_Month = new BaseBusiness<DMS_TempData>("monthdb");
var DMS2_MonthService = DMS2_Month.Service;
var query = DMS2_MonthService.GetIQueryable<DMS_TempData>();
foreach (R_DistributionAllopatry r_DistributionAllopatry in q)
{
var qq = query.Where(a => a.SampleID == r_DistributionAllopatry.NewSampleId);
if (qq.Count() > 0)
r_DistributionAllopatry.IsCompleted = true;
}
```
以上是基于代码片段进行的简单分析,如果您有更多的代码或者其他方面的问题,欢迎继续提问。