0

这听起来可能微不足道,但我做不到。

这是简单的代码:我在这里做错了什么?

是不是我误解了这个功能?如果是,请纠正我。

 <html>
  <head>
   <script type="text/javascript" src="jquery.js"></script>                             
    <script type="text/javascript">
      $(document).ready(function(){
       $(".button").click(function(){
        jQuery('#id').append('<select></select>');
       });     
      });
   </script>
  </head>

  <body >
    <input type="submit" class="button" id="id" value="submit"/>
  </body>

4

4 回答 4

1

您的正文中没有容器/元素可以容纳新select添加的内容,请在您的 html 中添加一个容器,如下所示id="id"

<body >
     <div id="id">
     </div>
    <input type="submit" class="button" value="submit"/>
</body>

演示

于 2012-11-22T06:59:40.233 回答
1

文档中是否#id存在?

你想添加<option><select>?

$(document).ready(function() {
    $(".button").click(function() {
        jQuery('body').append('<select><option value="1">One</option><option value="2">Two</option></select>');
    });
});​

小提琴 - http://jsfiddle.net/XVmuZ/

如果您想添加它,请#id确保它存在(就像在 rahul 的回答中一样)

小提琴 - http://jsfiddle.net/XVmuZ/1/

于 2012-11-22T07:01:15.393 回答
1

考虑到您自己的代码,您可以简单地编写

$('#id').after('<select></select>');

通常 append 与容器一起使用,因为#id 与按钮相关联,因此它不起作用。如果您仍想使用追加,请使用 div/span,但如果您不想使用 .after() 可以正常工作。

于 2012-11-22T08:00:58.480 回答
0

第一件事不要使用提交按钮,因为它会回发您的页面,因此 jquery 将不起作用。试试这个代码

<html>
  <head>
   <script type="text/javascript" src="jquery.js"></script>                             
    <script type="text/javascript">
      $(document).ready(function(){
       $(".button").click(function(){
        $('#ddl').append('<select><option>abc</option><option>def</option></select>');
       });     
      });
   </script>
  </head>

  <body >
    <input type="button" class="button" id="id" value="submit"/>
    <div id="ddl">
    </div>
  </body>
于 2012-11-22T07:14:31.187 回答