Onchange下拉选择

时间:2017-05-03 11:51:11

标签: javascript php jquery mysql laravel

研究员,

我有2个下拉菜单,其中第一个包含公司列表。另一个包含任务列表。我现在需要做的是将相应的任务链接到company_name(项目ID)。

所以简而言之。如果我打开下拉列表并选择公司(project_ID)。我需要链接到该项目的任务(subproject_ID)。

此外,如果选择了一个特定的公司,那么第二个下拉列表也应该有相应的任务但是必须在将我的数据添加到名为note的数据库的行中添加一个新字段。

如果有人知道如何做到这一点。非常感谢。我还在其他问题中链接了一些表格,以供参考。

Inner Join laravel 5.2

1 个答案:

答案 0 :(得分:1)

根据您之前的问题,这可以解决问题

<select name="project_id">
    <option value="{{ $data->project_id }}">{{ $data->company_name }}</option>
</select>

<select name="subproject">
    <option value="{{ $data->subproject_id }}" data-project="{{ $data->project_id }}">{{ $data->title }}</option>
</select>

<textarea name="note" style="display: none" disabled></textarea>

<script>
$("select[name='project_id']").on('change', function()
{
    var project_id = $(this).value;
    $("select[name='subproject'] > option[data-project != "+ project_id +"]").hide();

    if(project_id == 1)
    {
        var note = $("textarea[name='note']"); 
        note.show();
        note.prop("disabled", false); 
    }
})
</script>

你有两个下拉菜单。第二个下拉列表选项包含另一个数据属性,该属性将指定项目ID,并根据您可以隐藏/显示所需的选项值。理想的解决方案是使用AJAX并获取适当的值,但也应该有效。

您只需要在第一个下拉列表中绑定到onchange事件并执行一些逻辑(基于项目ID)以隐藏您在第二个下拉列表中不需要的选项的值。

要添加备注字段,您也可以这样做。如果project_id与您需要的公司匹配,则可以启用所需的textarea。

我希望这能回答你的问题。