【问题标题】:Jquery comboboxes, selection in codeJquery组合框,代码中的选择
【发布时间】:2016-03-30 06:06:26
【问题描述】:

我有两个填充了各种选项的 jquery 组合框:

<select id="project">
    <option value="1">This is project 1</option>
    <option value="2">This is project 2</option>
</select>
<select id="tasks">
     <option value="1">This is task 1</option>
     <option value="2">This is task 2</option>
</select>

我没有显示组合框脚本添加的所有 html,其中包括文本框。问题是当我从第一个组合中进行选择时,我想在第二个组合框中编写一个选择脚本,但由于某种原因我无法显示选择。

我会创建一个 jsfiddle 来演示这个问题,但我不知道如何链接资源。

我试过设置 selectedIndex 成员或调用 val() 方法,没有运气。

【问题讨论】:

  • this 相关吗?
  • 您需要在第二个组合框中选择什么值?
  • 不幸的是,我使用的是jquery组合框,在任何选项中调用带有值的“val”方法都不会导致输入文本框更新。
  • 我希望选择显示与设置的值关联的文本。
  • 您需要在第二个组合框中显示相关文本吗?查看答案

标签: javascript jquery combobox


【解决方案1】:

我的建议是:

$(function () {
  $('#project').change(function(e){
    var itemToSelect = $(this).find(":selected").val();
    $('#tasks').val(itemToSelect);
  });
});
<script src="//code.jquery.com/jquery-1.11.3.js"></script>

<select id="project">
    <option value="1">This is project 1</option>
    <option value="2">This is project 2</option>
</select>
<select id="tasks">
    <option value="1">This is task 1</option>
    <option value="2">This is task 2</option>
</select>

【讨论】:

  • 组合框不是简单的选择,它添加了一个文本输入框和自动完成选择,使用“val”方法设置值不会更新文本框。 “选择”元素从视图中隐藏。
  • @SPlatten 我了解,但为了给您更多信息,我需要更多信息。有很多不同的自动完成选择,那么您使用哪一个?
  • 我使用的脚本:jquery-2.1.4.min.js, jquery-ui.min.js
  • @SPlatten 和选择自动完成?
  • jdq 小部件“jqxcombobox.js”,jQWidgets v3.6.0
【解决方案2】:

我认为这就是你需要的

假设您需要将任务值更改为项目值

$('#project').change(function() {
    $('#tasks').val('here_is_the_related_second_value');
});

更新 1

你可以试试这个:

$("#project").combobox({ 
    select: function (event, ui) { 
        $('#tasks').val('here_is_the_related_second_value');
    } 
});

See This

【讨论】:

  • 对不起,这不起作用,并且使用组合框我没有收到更改事件。
  • @SPlatten 你能解释一下具体的功能是什么吗?我的意思是你需要输入一个组合框,当输入改变值是你需要的?
  • 我要做的是从第一个组合中进行选择,然后根据选择从内部对象中查找任务并设置任务,更新第二个组合以显示任务。跨度>
  • @SPlatten 能否请您告诉我该对象的外观,以便我可以提出解决方案
【解决方案3】:

与“Alla M. Jaddou”讨论的解决方案是向 $.widget("custom.combobox", {}); 创建的输入框添加一个 id。回调。

在 createAutocomplete 方法中,我得到分配给选择元素的 id:

    id = this.element[0].id;

然后我在输入框中添加一个id属性,前缀为“inp”。

当组合中的选择发生变化时,我会获取输入元素并设置文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    相关资源
    最近更新 更多