我正在使用 jquery 个选定的插件
Am using jquery chosen plugin
从下拉列表中我只想要某些部分(例如 AL_Alabhama 意味着我只想要 AL)。我使用拆分 function.When 我 select 下拉列表中的一些值,文本框包含拆分结果但相同的值反映回下拉列表 list.I 想要原始值下拉菜单。请提出一些解决方案
$(document).ready(function () {
var selText;
$('#locate option').each(function () {
$(this).attr('name', $(this).text());
});
$('#locate').change(function () {
//Gets the value for selected option
selText = $('#locate option:selected').text();
//split the value
$('#locate option:selected').text(selText.split("_")[0]).trigger('liszt:updated');
//trying to add the values again to the dropdown
$('#locate').next().click(function () {
if (selText == "") {
$("#locate option").filter(":contains(" + selText.split("_")[0] + ")").text(selText).trigger('liszt:updated');
});
}
看行$('#locate option:selected').text(selText.split("_")[0]).trigger('liszt:updated');
为了方便起见,让我们把它分成两部分:
var splittedText = selText.split("_")[0];
$('#locate option:selected').text(splittedText).trigger('liszt:updated');
你看到会发生什么了吗?不是将拆分的文本分配给变量,而是将其设置为返回下拉列表的文本。
只需将它分配给一个变量,就像我在上面向您展示的那样:var splittedText = selText.split("_")[0];
并删除部分 .text(splittedText)
所以它看起来像这样:
var splittedText = selText.split("_")[0];
$('#locate option:selected').trigger('liszt:updated');
更新:
触发自定义事件.trigger('liszt:updated');
只会通知 Chosen 插件您已更新下拉列表。如果你想单独设置文本框的文本,你需要手动设置:
$("#myTextBox").val(splittedText);
您可能知道(或不知道),select或$('#locate option:selected')
将为您return列出所有select编辑的<option>
元素有 parent 和 id="locate"
。
因此,由于您很可能一次只有 1 个选项 selected,这将 return 您在下拉列表中 selected 选项。
当您调用 jquery object 的函数 .text()
并提供参数(例如:.text(splittedText)
)时,它将设置其中每个元素的文本列出 jquery select 或 return。
如果您不想 select 选项更改其文本,请不要调用 .text(splittedText)
从下拉列表中我只想要某些部分(例如 AL_Alabhama 意味着我只想要 AL)。我使用拆分 function.When 我 select 下拉列表中的一些值,文本框包含拆分结果但相同的值反映回下拉列表 list.I 想要原始值下拉菜单。请提出一些解决方案
$(document).ready(function () {
var selText;
$('#locate option').each(function () {
$(this).attr('name', $(this).text());
});
$('#locate').change(function () {
//Gets the value for selected option
selText = $('#locate option:selected').text();
//split the value
$('#locate option:selected').text(selText.split("_")[0]).trigger('liszt:updated');
//trying to add the values again to the dropdown
$('#locate').next().click(function () {
if (selText == "") {
$("#locate option").filter(":contains(" + selText.split("_")[0] + ")").text(selText).trigger('liszt:updated');
});
}
看行$('#locate option:selected').text(selText.split("_")[0]).trigger('liszt:updated');
为了方便起见,让我们把它分成两部分:
var splittedText = selText.split("_")[0];
$('#locate option:selected').text(splittedText).trigger('liszt:updated');
你看到会发生什么了吗?不是将拆分的文本分配给变量,而是将其设置为返回下拉列表的文本。
只需将它分配给一个变量,就像我在上面向您展示的那样:var splittedText = selText.split("_")[0];
并删除部分 .text(splittedText)
所以它看起来像这样:
var splittedText = selText.split("_")[0];
$('#locate option:selected').trigger('liszt:updated');
更新:
触发自定义事件.trigger('liszt:updated');
只会通知 Chosen 插件您已更新下拉列表。如果你想单独设置文本框的文本,你需要手动设置:
$("#myTextBox").val(splittedText);
您可能知道(或不知道),select或$('#locate option:selected')
将为您return列出所有select编辑的<option>
元素有 parent 和 id="locate"
。
因此,由于您很可能一次只有 1 个选项 selected,这将 return 您在下拉列表中 selected 选项。
当您调用 jquery object 的函数 .text()
并提供参数(例如:.text(splittedText)
)时,它将设置其中每个元素的文本列出 jquery select 或 return。
如果您不想 select 选项更改其文本,请不要调用 .text(splittedText)