gpt4 book ai didi

asp.net-mvc - C# razor select2 禁用

转载 作者:行者123 更新时间:2023-12-04 04:13:08 26 4
gpt4 key购买 nike

如果 option.AgentName 中有值,有没有办法将此 select2 设置为禁用只读?我已经添加了 selectElement.select2 方法,有什么我可以添加到回调中的吗?

Is this the correct way to do this? using self.entry.Agent.AgentName != ""?

查看

<div class="form-group sentence-part-container sentence-part ng-scope ui-draggable sentence-part-entry-agent sentence-part-with-select2-single" [class.has-errors]="entry.IsInvalid && entry.IsTouched">
<div class="sentence-part-values">
<div class="sentence-part-values-select2-single">
<select class="form-control" style="width: 300px" [(ngModel)]="entry.Agent.VersionKey">
<option *ngFor="let option of agents" [value]="option.VersionKey">{{option.AgentName}}</option>
</select>
</div>
</div>
</div>

ts文件

$selectElement.select2({
initSelection: function(element, callback) {
console.log(self.entry.Agent.AgentName);
if (self.entry.Agent.AgentName != "")
{
console.log('disabled');
$selectElement.prop('disabled', true);
}
callback({ id: self.entry.Agent.VersionKey, text: self.entry.Agent.AgentName });
},
placeholder: "Select an agent"
})
.on("change", (e) => {
self.ngZone.run(() => {
self.entry.Agent.VersionKey = $selectElement.val();
self.entry.AgentVersionKey = self.entry.Agent.VersionKey;

let regimenEntryAgent = this.getRegimenEntryAgentByVersionKey(self.entry.Agent.VersionKey);
if (regimenEntryAgent) {
self.entry.Agent.AgentId = regimenEntryAgent.AgentId;
}

self.onSentenceChange(null);
});
})
.on("select2:close", () => {
self.entry.IsTouched = true;
this.validate();
});

最佳答案

您可能会尝试在 Select2newData.push() 方法中应用一些逻辑。

ajax: {
url: '/DemoController/DemoAction',
dataType: 'json',
delay: 250,
data: function (params) {
return {
query: params.term, //search term
page: params.page
};
},
processResults: function (data, page) {
var newData = [];
$.each(data, function (index, item) {

// apply some logic to the corresponding item here
if(item.AgentName == "x"){

}
newData.push({
//id part present in data
id: item.Id,
//string to be displayed
text: item.AgentName
});
});
return { results: newData };
},
cache: true
},


更新:建议您在初始化 Select2 时通过传入一个对象来声明您的配置选项。但是,您也可以使用 HTML5 data-* attributes 定义配置选项。 .

有关其他 Select2 选项,请查看 Options .

关于asp.net-mvc - C# razor select2 禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61349715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com