点击jquery javascript中的下拉列表时更改标签

时间:2016-04-25 18:30:02

标签: javascript jquery html

如何在jquery javascript下实现多个功能? "获取项目"如果我删除第二个函数按钮工作正常(它实际上在我的Eclipse项目中工作,由于某种原因,如果我在这里删除第二个函数它不起作用。)

我想在这里实现两件事: 1)点击"获取项目"将项目添加到下拉列表中。 2)从列表中选择不同的项目时,标签将根据所选内容更改文本。



   $(document).ready(function () {
      $('#projectbutton').click(function() {
         var selector = document.getElementById('projectselector');
         var api = "http://localhost:8080/restapi/test/projects";
         $.getJSON(api, {"1":"project 1", "2":"project 2"},function (data) {
            $.each(data, function (index, d) {
               selector.options[selector.options.length] = new Option(d,d);
            });
         });
      });
});
$(document).ready(function () {
   $('#projectselector').change(function() {
         var text = $('option:selected',this).text();
         $('#selectedprojectname').text(text);
   }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="firstsection">
   <h1>List project</h1>
   <button id="projectbutton" name="projectbutton">Get Projects</button>
</div>
<div id="secondsection">
   <h2>All available projects:</h2>
   Projects: <select id="projectselector" name="projectselector"></select>
</div>
<div id="thirdsection">
   <h3>Selected project:</h3>
   <label id=selectedprojectname name="selectedprojectname">empty</label>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我不确定你在getJSON电话中想要做什么。第二个参数只是发送到API调用的数据,因此您可能不需要传递的内容。

在任何情况下,API调用都有问题。如果您删除了API部分,则可以正常工作。

http://jsfiddle.net/CnEUh/3137/

$(document).ready(function () {
  $('#projectbutton').click(function() {
    var selector = document.getElementById('projectselector');
    var api = "http://localhost:8080/restapi/test/projects";
    var data = {"1":"project 1", "2":"project 2"};
      $.each(data, function (index, d) {
        selector.options[selector.options.length] = new Option(d,d);
      });
  });

  $('#projectselector').change(function() {
    var text = $('option:selected',this).text();
    $('#selectedprojectname').text(text);
  });
});

你的jQuery看起来很好,但除非你发布API代码,否则我对API调用再也无法帮助。