我的问题:此代码适用于firefox chrome和safari,但不适用于IE 8.我有.change
但我发现它不起作用,所以我做.click
并再次尝试在所有浏览器中,所有浏览器都在工作,尝试仍然无法正常工作。 anythingSlider是一个jquery库我正在使用,我知道这不是问题(反向工作就像选择下拉菜单上的项目并移动到那张幻灯片,包括ie。谢谢。
我的代码:
$(document).ready(function() {
$('#skillslist').click(function()
{var str = $(this).attr('value');
var pattern = /[0-9]+/g;
var matches = str.match(pattern);
var myInteger = parseInt(matches);
$('#slider').anythingSlider(myInteger);
});
});
</script>
<select name='myList' id='skillslist'>
<option>Subscription Days Remaining: <? echo $days ?></option>
<option id='skill1'>Skill 1: Hand Washing</option>
<option id='skill2'>Skill 2: Abdominal Thrust on Conscious Resident</option>
<option id='skill3'>Skill 3: Ambulation using a Gait Belt</option>
</select>
答案 0 :(得分:2)
你可以试试这个:
$('#skillslist').on('change', function(){ // change instead of click
var str = this.value;
var pattern = /[0-9]+/g;
var matches = str.match(pattern);
var myInteger = parseInt(matches);
$('#slider').anythingSlider(myInteger);
});
});
不确定,如果您在页面加载后选择附加到dom,那么您应该选择
$('body').on('change', '#skillslist', function(){ // change instead of click
var str = this.value;
var pattern = /[0-9]+/g;
var matches = str.match(pattern);
var myInteger = parseInt(matches);
$('#slider').anythingSlider(myInteger);
});
});
注意 body
可以替换为选择框的容器。
答案 1 :(得分:2)
$('#skillslist').change(function() {
var str = $(this).val();
// ...
});
我总是尽量避免使用$(this).attr('value')
或this.value
,因为应使用this.options[this.selectedIndex]
来查询选择框值...这是.val()
为您所做的。
在您说“它不起作用”之前,请先说明哪些内容不起作用,并确保通过alert()
myInteger
值来消除其他因素。