gpt4 book ai didi

asp.net-mvc - Select2 initSelection 元素 Val

转载 作者:行者123 更新时间:2023-12-02 04:21:55 24 4
gpt4 key购买 nike

我在我的网络应用程序上使用 select2 控件。在 initSelection 中,我将 element.val() 传递给 Controller ​​,但它为空。我如何设置要传递给 Url.Action 的 element.val() 。当我使用 div 时,element.val() 是我应该使用的正确对象吗?

我看到了 Chrome 的值(value) enter image description here

调试器

enter image description here

查看

<div id="guideline-container" style="@(Model.Type == "Guideline" ? "display:block" : "display:none")">
<form id="guideline-form" class="form-horizontal">
<div class="form-group">
<label for="guidelineName" class="col-sm-2 control-label">Guideline</label>
<div class="col-sm-10">
<div id="guidelineName">
@{ Html.RenderAction("Index", "GuidelinesPicklist", new { value = Model.GuidelineId, leaveOutAlgorithmItems = true, separateActiveItems = true }); }
</div>
<div class="guideline-not-selected field-validation-error" style="display: none;">
Guideline is required.
</div>
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary modal-submit-btn">Add</button>
<button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
</div>
</form>
</div>

功能

 $(this).select2({
placeholder: "@Model.Settings.Placeholder",
//allowClear: true,
ajax: {
url: "@Url.Action("GetPicklistItems")",
contentType: 'application/json; charset=utf-8',
type: 'POST',
dataType: 'json',
data: function (params) {
return JSON.stringify({
query: params.term,
args: @Html.Raw(JsonConvert.SerializeObject(@Model.Settings != null ? @Model.Settings.AdditionalArguments : null))
});
},
processResults: function (data, page) {
console.log("processResults");
console.log(data);
var resultData = [];

if (isError(data)) {
showErrorMessage(getErrorMessage(data));
} else {
hideErrorMessage();
mapResultData(data.Result, resultData, 0);
}

return {
results: resultData
};
}
},
templateResult: format,
templateSelection: function(data) {
return data.text;
},
initSelection: function (element, callback) {
//console.log("initSelection");
//var id = $(element).val();
//console.log(id);
var guidelineId = "@Model.Value";
console.log("guidelineId");
console.log(guidelineId);
//console.log("params");
//console.log(params);
//console.log("element object Text");
//console.log(element.text);
debugger;
getAjax("@Url.Action("GetPicklistItem")" + "?value=" + guidelineId, function (result)
{
console.log("Ajax GetPicklistItem");
console.log(result);
debugger;
if (result.Result) {
var data = {};
$.extend(data, result.Result);
data.id = result.Result.Value;
data.text = result.Result.Text;
callback(data);
self.trigger("picklistChanged", data);
} else {
console.log(result);
debugger;
callback ({ id: null, text: "@Model.Settings.Placeholder" })
}
});
},
escapeMarkup: function(m) {
return m;
}
}).on('change', function () {
var data = self.select2('data');
self.trigger("picklistChanged", data);
});

最佳答案

您可以使用以下方法获取Select2选定的值或文本:

var selectedValue = $('#Employee').val();

var selectedText = $('#Employee :selected').text();

或者,您可以简单地监听 select2:select 事件来获取所选项目:

$("#Employee").on('select2:select', onSelect)

function onSelect(evt) {
console.log($(this).val());
}

关于asp.net-mvc - Select2 initSelection 元素 Val,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60869684/

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