【问题标题】:Change value of select list with value of another select list jquery用另一个选择列表 jquery 的值更改选择列表的值
【发布时间】:2018-09-04 16:49:08
【问题描述】:

如何将一个选择列表的值更改为另一个选择列表的值

<select class="main-filter" id="Test1" name="Test1"><option value="">Select Option</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>

需要将#ReplaceThisText# 替换为从上方选择框中选择的值

<select id="selectfilter" name="selectfilter" class="form-control main-filter">
                        <option value="">Sort Products</option>
                        <option value="/?id=na&amp;selectfilter=hl&amp;Type=#ReplaceThisText#">Chnage Value</option>

                    </select>

我已尝试此链接中的代码Change the Text of a Option with jQueryjquery how to find and replace a selected option that has a certain value 但似乎无法让它工作

我的代码是

$('#Test1').change(function () {
        sessionStorage.setItem("Test1", $(this).val());
        $('.main-filter :selected:contains("#ReplaceThisText#")').val($(this).val());
        location.href = $(this).val();
    });

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    :contains 将查看 .text() 值 - 但您的 #ReplaceThisText# 不在 .text() 值中 - 因此您需要使用 .filter() 来查找它:

    添加一些 console.logs 以便您查看正在发生的事情并更新 .val(newval) 代码以进行替换。

    $('#Test1').change(function() {
      var newval = $(this).val();
      console.log("before", $(".main-filter :contains('Change Value')").val())
      var opt = $('.main-filter option').filter(function() {
          return $(this).val().indexOf("#ReplaceThisText#") >= 0;
      });
      console.log("opt length", opt.length);
      opt.each(function() { 
          $(this).val($(this).val().replace(/#ReplaceThisText#/gi, newval));
      });
      console.log("after", $(".main-filter :contains('Change Value')").val())
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select class="main-filter" id="Test1" name="Test1">
      <option value="">Select Option</option>
      <option value="1">One</option>
      <option value="2">Two</option>
    </select>
    
    <select id="selectfilter" name="selectfilter" class="form-control main-filter">
      <option value="">Sort Products</option>
      <option value="/?id=na&amp;selectfilter=hl&amp;Type=#ReplaceThisText#">Change Value</option>
    </select>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 2011-02-25
      • 2016-02-26
      相关资源
      最近更新 更多