JQuery - 根据复选框添加新的输入字段

时间:2016-02-24 17:25:42

标签: javascript jquery

我已设置以下JSFiddle

我的应用程序有几行.formContent行,我只在小提琴中显示一行。

我要做的是,如果选中div,则使用课程.labelAndInput复制checkbox,然后在下面放置一个新的$(function() { $('input:checkbox[name=label1Newline]').change(function() { if ($(this).checked) { $(this).parent().siblings(".labelAndInput").clone().insertAfter("div.labelAndInput:last"); } }); });

新的divs标签和输入应该具有与复制的相同的id / name,但在它们的末尾加上“testing”。

目前我正在尝试这样似乎没有做任何事情的事情:

(function() {
  'use strict';

  var app = angular.module('myApp');

  function SuggestController ($scope, $http) {

    var onResponse = function(response){
      $scope.responseMsg = response.data;
      console.log(data);
    };

    var onError = function(err){
      $scope.error = err;
    };

    $scope.suggest = function(){

      var new = $.param({
        sS: $scope.Source,
        dD: $scope.Destination
      });

      var config = {
        headers : {
          // 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
          //'crossDomain' : 'true',
          //'Access-Control-Allow-Methods': 'GET, POST',
          'Access-Control-Allow-Origin' : '*',
          'Access-Control-Allow-Credentials' : true
        }
      };

      $http.post("http://localhost:3000/",nRoute, config).
        then(onResponse, onError);
    };
  }

  app.controller('SuggestController', ['$scope', '$http', SuggestController])

}());

如何克隆div,更改id /名称以包含测试,然后追加它?

由于

1 个答案:

答案 0 :(得分:3)

<强> Working fiddle

你应该替换:

if ($(this).checked) {

通过:

if ( $(this).is(':checked') ){
//OR
if ( this.checked ){

注意: 新的div标签和输入应具有相同的ID /名称,请注意id在同一文档中应该是唯一的。< / p>

希望这有帮助。