【问题标题】:Can't get jquery to set value of select input when value of first select changes当第一个选择的值发生变化时,无法让 jquery 设置选择输入的值
【发布时间】:2011-11-28 13:03:14
【问题描述】:

当我更改另一个选择输入的值时,我正在尝试更新一个选择输入的值。我无法在页面上发生任何事情,并想确保我没有语法错误或此代码中的其他一些愚蠢的事情。

<div class="group">
<div class="inputs types">
<strong style="font-size:13px;">Category:</strong>
   <select name="id" id="ctlJob">
<option value="1">Automotive</option>
<option value="2">Business 2 Business</option>
<option value="3">Computers</option>
<option value="4">Education</option>
<option value="5">Entertainment & The Arts</option>
<option value="6">Food & Dining</option>
<option value="7">Government & Community</option>
<option value="8">Health & Beauty</option>
<option value="9">Home & Garden</option>
<option value="10">Legal & Financial Services</option>
<option value="11">Professional Services</option>
<option value="12">Real Estate</option>
<option value="13">Recreation & Sports</option>
<option value="14">Retail Shopping</option>
<option value="15">Travel & Lodging</option>
  </select>
<select name="type" id="ctlPerson"></select>
</div>
</div>

<script>
$(function() {
    $("#ctlJob").change(function() {
        //Get the current value of the select
        var val = $(this).val();

 $('#ctlPerson').html('<option value="123">ascd</option>');
    });    
});
</script>

【问题讨论】:

  • 似乎工作正常 - jsfiddle.net/w3bk9 虽然我会在您的选项标签中将 & 更改为 &amp;amp;
  • 很抱歉,您能举例说明您需要做什么吗?
  • 您是否包含了 jquery 库?请检查一下,因为它在我身边运行良好。
  • 我认为页面上的 jquery 环境可能存在冲突,导致 jquery 无法正常运行。正在调查... 这是一个 drupal 站点,所以事情有点复杂。 :(

标签: javascript jquery forms select input


【解决方案1】:
<div id="test">
<select name="sel" id="sel">
    <option name="1" id="1" value="1">Automotive</option>
    <option name="2" id="1 value="2">Business 2 Business</option>
    <option name="3" id="1 value="3">Computers</option>
</select>
<select name="sel2" id="sel2"></select>
</div>

<script>
$("#sel").change(function() {
    var val = $(this).val();
    $('#sel2').html('<option value="1">NEW</option>');
)};
</script>

这很适合您需要做的事情。 就像你所拥有的一样

【讨论】:

    【解决方案2】:

    我认为您还需要设置“选定”属性。添加

    $('#ctlPerson option[value="123"]').attr('selected', 'selected');
    

    到脚本的末尾。您当前正在将选项添加到选择列表中,但并未更改选择列表以显示它。

    【讨论】:

      【解决方案3】:

      尝试改用append

      $(function() {
          $("#ctlJob").change(function() {
              //Get the current value of the select
              var val = $(this).val();
              var ctl = $('#ctlPerson').append('<option value="123">'+val+'</option>')[0].options;
              ctl.selectedIndex = ctl.length-1;
          });
      });
      

      http://jsfiddle.net/J69q8/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-11
        • 1970-01-01
        • 2014-06-30
        • 2023-03-15
        • 2023-01-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多