1

私の質問は、ここで言及されているものと似ています、 Duplicate jquery ui problem。しかし、私の質問では、動的フォームセット スクリプトを使用していません。

デフォルトのフォームセットと動的に生成されたフォームセットの両方でブートストラップ jquery datepicker プラグインを使用するにはどうすればよいですか?

テーブルの最後の行のクローンを生成するために私がやっていることは次のとおりです(jqueryに慣れていないため)

$("p").live("click", function() {
    //clone last row to variable
     var row = $('#savings_table tbody>tr:last').clone(true);

     //clear text boxes
     $("td input:text", row).val("");

      //clear selection boxes
      $("select option:selected", row).attr("selected", false);
      //add row
  row.insertAfter('#savings_table tbody>tr:last');
  count = parseInt($("#id_form-TOTAL_FORMS").val(), 10)

  var count = count + 1;
  $("#id_form-TOTAL_FORMS").val(count);

  $(row).each(function() {
      $(this).find('td').each(function(){

        var input_name = $(this).find("input").attr('name')
        var input_id = $(this).find("input").attr('id')
        var input_class = $(this).find("input").attr('class')

        if($(this).find("input").attr('name') !== undefined)
        {
            new_input_name = set_attr(input_name);
            new_input_id = set_attr(input_id);
            $(this).find("input").attr('name',new_input_name)
            $(this).find("input").attr('id',new_input_id)

        }

         if($(this).find("select").attr('name') !== undefined)
         {
            var select_name = $(this).find("select").attr('name')
            var select_id = $(this).find("select").attr('id')

            new_select_name = set_attr(select_name);
            new_select_id = set_attr(select_id);

            $(this).find("select").attr('name',new_select_name)
            $(this).find("select").attr('id',new_select_id)
        }
         });
       });
  //$( ".start_datepicker" ).datepicker();

      return false;
    });

  function set_attr(prop)
  {
  var result_name = prop.split('-');
  var inc_value = parseInt(result_name[1], 10) + 1;
  var new_name = result_name[0]+'-'+inc_value+'-'+result_name[2];
  return new_name
   }

同じクラス名を日付フィールドに割り当て、jquery datepicker プラグインと呼ばれる同じクラス名を使用してみましたが、これは正常に機能しています。ただし、フォームセットを動的に追加すると、常に最後の日付フィールドが選択されます。

$(function() {
    $( ".start_datepicker" ).datepicker();
 });

ここで何が間違っていますか?

4

0 に答える 0