Javascript 使用JQuery更改标签的值,并更改下拉列表中的值

Javascript 使用JQuery更改标签的值,并更改下拉列表中的值,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用jQuery通过更改下拉值来更改label的值,但它不起作用。请帮我修一下 <select id="myselect"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option&

我正在尝试使用jQuery通过更改下拉值来更改label的值,但它不起作用。请帮我修一下

<select id="myselect">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
</select>
<br/>
<label id="label"></label>
<br/>

附加到更改事件的选择器不正确,您需要以字符串形式提供元素的id,而不是元素本身的值。此外,标签元素没有需要使用文本来更改的值,您可以在changehandler中使用该值来引用select元素。试试这个:

$label.text150.000.000; $myselect.on'change',函数{ 如果$this.val==“1”{ $label.text150.000.000; }否则{ $label.text350.000.000; } }; 1. 2. 3. 4. 5.
您可以将所有值保存在一个数组中,并可以使用value来计算要选择的值的索引

以下代码段描述了相同的情况:

var数据=[150.000.000,350.000.000,550.000.000,750.000.000]; $myselect.onchange,函数{ var selectedVal=$option:selected,this.val; var newValue=数据[parseIntselectedVal-1]; $label.textnewValue; } 1. 2. 3. 4. 5. 请尝试以下代码:

  $(document).ready(function() {
  $("label").text("150.000.000");
  $("#myselect").on('change', function() {
    if ($("#myselect").text() == '1') {

      $("#label").text("150.000.000");

    } else {

      $("#label").text("350.000.000");
    }
  });
});

正如您从代码片段中看到的那样,它肯定应该这样做。请检查控制台中代码的其他地方是否有错误。@RoryMcCrossan,这只是一个问题,$this.val和$option:selected,this.val之间是否存在差异。我看到了后一个,并认为它更可取。$this.val直接访问select的value属性$option:selected,this.val在select中查找所选的option元素并从中获取值。第一个版本更简单、更好、更快。您测试过$myselect.text实际返回的内容吗?没错,这就是为什么它不起作用的原因。但这不起作用。。。更改为3,值变为350。更改回1,它将保持在350