【问题标题】:change image upon selection, searching list for the src value jQuery选择时更改图像,搜索 src 值 jQuery 的列表
【发布时间】:2010-12-21 23:10:16
【问题描述】:

任何人都可以看到这段代码有什么问题吗?它只是不工作......

应该清楚我要做什么

 jQuery(document).ready(function($) {
   $('#product-variants-option-0').change(function() {

     // What is the sku of the current variant selection.
     var select_value = $(this).find(':selected').val();

            if (select_value == "Kelly Green") {
             var keyword = "kly";
            };

    var new_src = $('#preload img[src*="kly"]');

        $('div.image').attr('src', new_src);

   });
 });

选择:

<select class="single-option-selector-0" id="product-variants-option-0">
<option value="Kelly Green">Kelly Green</option>
<option value="Navy">Navy</option>
<option value="Olive">Olive</option>
<option value="Cocoa">Cocoa</option>
</select>

我正在尝试搜索无序列表:

<ul id="preload" style="display:none;">
<li>0z-kelly-green-medium.jpg</li>
<li>0z-olive-medium.jpg</li>
</ul>

【问题讨论】:

  • 你能把form(或select元素)的html也贴出来吗?
  • 谢谢;我已经修改了我的答案。如果您可以通过var new_src = $('#preload img[src*="kly"]'); 行解释您想要实现的目标,我会尽力提供更多帮助 =)
  • 我在一个隐藏的 ul 中有一个图像列表,我正在尝试在这些图像的 SRC 中搜索字符串“kly”并将 src 作为 var new_src 返回。

标签: jquery select onchange


【解决方案1】:

我认为问题出在这一行:

var new_src = $('#preload img[src*="kly"]');

这会将一个元素分配给变量new_src,而不是一个字符串;这意味着当您尝试更改以下行中的 src 时:

$('div.image').attr('src', new_src);

您实际上是将 dom 节点插入到属性中,这不太可能起作用。

试试:

var new_src = $('#preload img[src*="kly"]').attr('src');

假设$('#preload img[src*="kly"]') 返回一个有效的img 元素,无论如何;从您发布的ul 中我可以看到它包含文本字符串(但这可能是工作中的 Mark-down 编辑器)。


已编辑以响应进一步的 cmets。

您有没有想到 no 图像存在于包含字符串 'kly' 的 #preload ul 中?这可能是您遇到的主要问题。我已将列表复制到JS Fiddle, for demo purposes,这个版本似乎可以工作:

$('select').change(
    function(){
        if ($(this).val().toLowerCase() == 'kelly green') {
            var keyword = 'kelly';
        }
        else {
            var keyword = $(this).val().toLowerCase();
        }
        $('#alert').text($('#preload img[src*='+keyword+']').attr('src'))
    });

它当然可以被美化,但它确实有效(至少考虑到我目前所掌握的信息)。

【讨论】:

  • 它没有给我任何错误,只是没有做任何事情它不会提醒 new_src 变量?...bit.ly/eLYUjU...我正在尝试制作选择器根据选择的选项更改主图像,我希望它搜索预加载器 ul 并将 src 复制到主图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 2011-10-29
  • 1970-01-01
  • 2018-09-04
  • 2014-09-27
  • 2012-08-07
  • 2018-10-25
相关资源
最近更新 更多