簡體   English   中英

在HTML中使用change()和contains() <select> (jQuery的)

[英]Using change() and contains() with an 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');
}

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM