Javascript 如何从所选项目选项生成最常出现值的递增列表?

Javascript 如何从所选项目选项生成最常出现值的递增列表?,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有一个表格,有两个活动选项,每个活动有3个不同的项目,每个项目有2-3名参与者 事件1 足球–约翰、迈克、山姆 板球-山姆,亨利 国际象棋-罗斯,迈克 事件2 吉他-山姆,菲利普 鼓-史蒂夫,罗斯 钢琴-迈克,约翰 我如何生成一个结果,使参与这些选定项目的人员以及在这些事件中参与度最高的人员的列表首先出现,然后是其他人员。比如,当有人从事件1中选择“足球”,从事件2中选择“吉他”,提交后,结果将是—— 参与者 山姆 亨利,菲利普 如何设置选项的值,以及php或javascript如何帮助我生成

我有一个表格,有两个活动选项,每个活动有3个不同的项目,每个项目有2-3名参与者

事件1

足球–约翰、迈克、山姆 板球-山姆,亨利 国际象棋-罗斯,迈克 事件2

吉他-山姆,菲利普 鼓-史蒂夫,罗斯 钢琴-迈克,约翰 我如何生成一个结果,使参与这些选定项目的人员以及在这些事件中参与度最高的人员的列表首先出现,然后是其他人员。比如,当有人从事件1中选择“足球”,从事件2中选择“吉他”,提交后,结果将是——

参与者

山姆 亨利,菲利普 如何设置选项的值,以及php或javascript如何帮助我生成结果?

您可以设置一个对象数组,用于将参与者映射到事件。这是一个可以实现的逻辑。它适用于一个事件选择。您只需在每个选择中循环

风险值参与者=[{ 姓名:山姆,, 活动:[足球、吉他] },{ 姓名:Philip, 活动:[鼓、板球、吉他] }]; $.event-selection.changefunction{ var selectedEvent=$this.findoption:selected.text; var results=participants.filterFunction p{ 返回p.events.indexOfselectedEvent>-1; }.mapfunctionp{return p.name}.join; $.results.textresults; }; 选择事件1 足球运动 板球 国际象棋 选择事件2 吉他 鼓 钢琴
<form>
    <div>
        <h1>Select Event 1</h1>
        <select>
            <option>Football</option>
            <option>Cricket</option>
            <option>Chess</option>
        </select>
    </div>
    <div>
        <h1>Select Event 2</h1>
        <select>
            <option>Guitar</option>
            <option>Drum</option>
            <option>Piano</option>
        </select>
    </div>
    <input type="submit" /> 
</form>