1

我试图重用在互联网上找到的下拉替换,但遇到了两个问题:

1)我希望替换提交而不是创建href。我试图重写该函数并在 -tag 中添加 onChange 但它不起作用。有人有提示吗?

2)我尝试添加标志并扩展功能,'<img class="option[selected]" />' + 并添加了两个带有值名称和图像 URL 的 css 类,但由于我是 Javascript 新手,我找不到可行的解决方案。

这是整个功能:

$(document).ready(function() {
    createDropDown();

    $(".dropdown dt a").click(function() {
       $(".dropdown dd ul").toggle();
     });

    $(document).bind('click', function(e) {
       var $clicked = $(e.target);
       if (! $clicked.parents().hasClass("dropdown"))
       $(".dropdown dd ul").hide();
    });

    $(".dropdown dd ul li a").click(function() {
      var text = $(this).html();
      $(".dropdown dt a").html(text);
      $(".dropdown dd ul").hide();

      var langForm_mylang = $("#langForm_mylang");
      langForm_mylang.val($(this).find("span.value").html())
      });
     });

function createDropDown(){
  var langForm_mylang = $("#langForm_mylang");
  var selected = langForm_mylang.find("option[selected]");
  var options = $("option", langForm_mylang);

  $("#langFormReplacement").append('<dl id="target" class="dropdown"></dl>')
  $("#target").append('<dt><a href="#">' + selected.text() + 
      '<img class="$langCode" />' +
      '<span class="value">' + selected.val() + 
      '</span></a></dt>')
  $("#target").append('<dd><ul></ul></dd>')

  options.each(function(){
     $("#target dd ul").append('<li><a href="#">' + 
       $(this).text() + '<span class="value">' + 
       $(this).val() + '</span></a></li>');
  });
}
4

0 回答 0