Javascript JQuery-Mobile:当选择一个选项时:做点什么。(显示/隐藏元素)

Javascript JQuery-Mobile:当选择一个选项时:做点什么。(显示/隐藏元素),javascript,jquery,jquery-mobile,html-select,Javascript,Jquery,Jquery Mobile,Html Select,在过去的6个小时里,我一直在努力解决这个问题,但我找不到解决办法。我正在使用jquerymobile1.4.5。我有一个选择5个选项。它们都被选中了,当其中一个被取消选中时,我想做点什么。所以我想得到取消选择的选项的id。这是我的html: <ul data-role="listview" data-inset="false" data-icon="false" data-divider-theme="b"> <li data-role="list-divider">&l

在过去的6个小时里,我一直在努力解决这个问题,但我找不到解决办法。我正在使用jquerymobile1.4.5。我有一个选择5个选项。它们都被选中了,当其中一个被取消选中时,我想做点什么。所以我想得到取消选择的选项的id。这是我的html:

<ul data-role="listview" data-inset="false" data-icon="false" data-divider-theme="b">
<li data-role="list-divider"><h2>Upcoming events <button data-role="none" class="filter" type="submit">
<i class="fa fa-filter"></i> 
</button><button onclick="hide()">Hide social</button><button onclick="show()">show social</button><h2></li>
<div class="ui-field-contain sixtynine" data-position-to="window">
<select name="select-custom-19" id="filter-type" multiple="multiple" data-native-menu="false">
    <option>Filter events</option>
    <option value="1" selected="selected" id="f-1">family</option>
    <option value="2" selected="selected" id="f-2">friends</option>
    <option value="3" selected="selected" id="f-3">business</option>
    <option value="4" selected="selected" id="f-4">social</option>
    <option value="5" selected="selected" id="f-5">private</option>
</select>
</div>
<li data-role="list-divider"><h2>Today<h2></li>
// irrelevant
    即将到来的事件 隐藏社交如何社交 过滤事件 家庭 朋友 商业 社会的 私有的
  • 今天
  • //无关的

“隐藏社会”和“展示社会”工作。我希望能够让他们的行为在select中。因此,我没有选择两个按钮(1个显示,1个隐藏),而是在选中时选择显示元素,而在未选中时选择隐藏元素。其他4个选项的Idem

那么我该如何解决这个问题呢

您可以使用jquery提供的
on('change')
功能:

$('#filter-type').on('change', function (e) {
    var optionSelected = $("option:selected", this);
    console.log(optionSelected);
    var valueSelected = this.value;
    ....
});

感谢您的快速回复。我试过了,但似乎不起作用<代码>$(“#过滤器类型”).on('change',函数(e){var optionSelected=$('option:selected',this);console.log(optionSelected);alert(optionSelected);var valueSelected=this.value;alert(valueSelected);}想想看。您将处理程序附加到哪个元素?
在该函数中是什么意思?您正在将处理程序附加到
#过滤器类型
元素,即
选择
选择
没有
select
包含
选项
元素,这些元素具有
s。您已经抓取了所有选定的选项,并将它们放在
options selected
变量中。在控制台中稍微检查一下。顺便说一句:避免
警报(值)
-将事情记录到控制台,在那里你可以右键单击->存储为全局变量,然后你可以与它们交互。哦,好的,谢谢。那么,我将如何访问所选的选项?当你说控制台时,你是指谷歌浏览器中的那个吗?即使是“alert(optionSelected)”也没有做任何事情,这是正常的吗?
alert
只能显示框中的字符串。Javascript不仅仅是字符串:)所有现代浏览器都有一个“开发者工具”区域,其中有各种工具用于显示网络流量、调试等,但Chrome是一个不错的选择。F12或Ctrl-Shift-I或菜单->更多工具->开发人员工具。作为一名编码员,我在每一个窗口都会100%地打开这个窗口。