使用change()和contains()与HTML <select>(jQuery)
我正在对<select>
下拉列表中的值进行更改。 我在这里简化了代码以获得总体思路。 这里是我所得到的(如果您有任何疑问,请告知我;我知道我在这里没有显示'select_text',但我不认为这是完全必要的,我必须解开一堆代码以简化这里):
var select_option_select = select_text.parent().find('select');
select_option_select.change(function(){
var changed_value = select_text.parent().find('select option[value="' + $(this).val() + '"]').text();
});
//THIS IS WHERE THE IMAGE CHANGES
if(changed_value=="Standard Crossline Grips (free)"){
$('#grip_image').attr('src','/v/vspfiles/images/grip_image.jpg');
}
我知道这是有效的,但由于它的设置方式,更改后的值的字符串必须与我在IF语句中输入的值完全相同。 我一直在尝试使用'包含',所以它会给我在网站上前进的更多灵活性。 我知道我不能在text()值上使用'contains',所以我像这样重写它(请注意,我摆脱了text()函数):
var select_option_select = select_text.parent().find('select');
select_option_select.change(function(){
var changed_value_2 = select_text.parent().find('select option[value="' + $(this).val() + '"]');
});
//THIS IS WHERE THE IMAGE CHANGES
if(changed_value_2.contains("Standard Crossline Grips (free)")){
$('#grip_image').attr('src','/v/vspfiles/images/grip_image.jpg');
}
这给了我错误:
Uncaught TypeError: Object #<Object> has no method 'contains'
我猜这意味着它不能识别任何'选项',而changed_value_2实际上并没有返回任何东西?
我希望我已经解释得很好。 如果您有任何问题,请告诉我。 非常感谢你的帮助。
这可能是你想要的:
if(changed_value.indexOf("Standard Crossline Grips") >= 0){
$('#grip_image').attr('src','/v/vspfiles/images/grip_image.jpg');
}
要么
if(changed_value.indexOf("(free)") >= 0){
$('#grip_image').attr('src','/v/vspfiles/images/grip_image.jpg');
}
资源
链接地址: http://www.djcxy.com/p/74101.html上一篇: Using change() and contains() with an HTML <select> (jQuery)
下一篇: Detect character in div and remove it Javascript or jQuery