我有一个jQuery Mobile / Cordova应用程序,我想"样式化"选择将其显示为此图像
TL; DR
我知道jQuery转换了< select>在< div>中包含< span>它采用所选<选项>的文本,因此这是你在< html>中写的:
< select name =" date_set"形式=" SBA-形式" ID =" SBA-dateSet">
<选项已禁用所选值=" null"> Seleziona la Data< / option>
<选项选择值=" 2-3-2016-3"> Mer 2 Marzo,2016< / option>
<选择选项值=" 3-3-2016-4"> Gio 3 Marzo,2016< / option>
<选项选择值=" 4-3-2016-5"> Ven 4 Marzo,2016< / option>
< /选择>
这是jQuery转换后的结果:
< div class =" ui-select">
< div id =" sba-dateSet-button"类="各种-jQuery的UI类">
< span> Mer 2 Marzo,2016< / span>
< select name =" date_set"形式=" SBA-形式" ID =" SBA-dateSet">
<选项已禁用所选值=" null"> Seleziona la Data< / option>
<选项选择值=" 2-3-2016-3"> Mer 2 Marzo,2016< / option>
<选择选项值=" 3-3-2016-4"> Gio 3 Marzo,2016< / option>
<选项选择值=" 4-3-2016-5"> Ven 4 Marzo,2016< / option>
< /选择>
< / DIV>
< / DIV>
脚本
我认为我可以编辑这种行为,将我的风格应用到< span>使用< option>的值并且它有效,在事件结束时显示警报,您可以看到< span>现在得到正确的值,这是我使用的:
$("#sba-dateSet")。change(function(e){
var parent = $(this).parent()。attr(" id");
var thisVal = $(this).val();
var spltVal = thisVal.split(" - ");
//天和月存储在相应的全局变量中
var selH ='&#39 ;;
selH + ='< div class ="样式选择日">' + spltVal [0] +'< / div>&#39 ;;
selH + ='< div class =" styledSelect rest">' +天[spltVal [3] - 1] +'< br />' +月[spltVal [1] - 1] +',' + spltVal [2] +'< / div>&#39 ;;
$("#" +父+ +#34; span")。html(selH);
警报("它有效!");
});
但是在警报上单击“确定”后(在我的自定义事件处理程序完成之后),jQuery会进入并使用其默认行为再次更改它。
这个问题
如何停止/阻止jQuery Mobile默认行为或其事件处理程序?
即使这不是非常默认的行为,我尝试了event.preventDefault(),event.stopPropagation()并在我的自定义事件处理程序结束时返回false,并且正如预期的那样,它们都没有工作
编辑:我说我的小提琴一切正常,< span>标签保持我想要的没有错误在控制台,所以我认为它可能是一个与cordova相关的问题,所以我尝试了我的服务器(小提琴的复制粘贴),不包括每个cordova注入...但问题仍然是那里