Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在RubyonRail中使用javascript通过按钮动态添加控件_Javascript_Html_Ruby On Rails - Fatal编程技术网

在RubyonRail中使用javascript通过按钮动态添加控件

在RubyonRail中使用javascript通过按钮动态添加控件,javascript,html,ruby-on-rails,Javascript,Html,Ruby On Rails,我想使用jquery通过一个按钮动态添加两个文本框和两个dropdownlist。i、 e以下 <tr> <td align="center"> <table id="controls"> </table> <%= button_tag "btnAdd"%> </td> </tr> 你们可以在上面看到,我制作了一个表格,我想在其中添加文本框和下拉列表,我还添加了按钮,因为当我点击

我想使用jquery通过一个按钮动态添加两个文本框和两个dropdownlist。i、 e以下

<tr>
   <td align="center">
   <table id="controls">
   </table>
   <%= button_tag "btnAdd"%> 
   </td>
</tr>
你们可以在上面看到,我制作了一个表格,我想在其中添加文本框和下拉列表,我还添加了按钮,因为当我点击按钮时,文本框和下拉列表将被添加,下面是jquery代码:

<script type="text/javascript">
    var k = 0, j = 0;
    var year = new Date().getFullYear();

    $(document).ready(function() {
        $("#btnAdd").click(function() {
            var field = $("#field").val();
            var year = new Date().getFullYear();
            var DDL_fromProfession = "<select name='ParametersFromProf' id='DDL_FromProYear'>";
            for (var i = year; i >= 1950; --i) {
                DDL_fromProfession += "<option text='" + i + "' value='" + i + "'>" + i + "</option>";
            }
            DDL_fromProfession += "</select>";
            var DDL_ToProfession = "<select name='ParametersToProf'  id='DDL_ToProYear'>";
            for (var j = year; j >= 1950; --j) {
                if (j != year) {
                    DDL_ToProfession += "<option text='" + j + "' value='" + j + "'>" + j + "</option>";
                }
                else {
                    DDL_ToProfession += "<option text='Present' value='Present'>Present</option>";

                }
            }
            DDL_ToProfession += "</select>";

            var newRow1 = "<tr><td align='center' style='font-size: large; color: #212121;' height='35px'>from"
            + DDL_fromProfession + " to " + DDL_ToProfession;
            newRow1 += "<br/><button type='button' class='btn_rmv'>Remove</button></td></tr>";


            var input = "<input name='parameters' id='field' type='text' value='Designation' style='text-align:center;' onblur='WaterMarkDesignation(this, event);' onfocus='WaterMarkDesignation(this, event);'/>";
            var input1 = "<input name='parametersCompany' id='field' type='text' value='Company' style='text-align:center;' onblur='WaterMarkCompany(this, event);' onfocus='WaterMarkCompany(this, event);'/>"



            var newRow = "<tr><td align='center' style='font-size: x-large; color: #212121;' height='35px'>"
            + input + " at " + input1 + "</td></tr>";
            $('#controls').append(newRow);
            $('#controls').append(newRow1);
            return false;
        });
    });
</script>
但当我点击按钮时,它不会显示文本框和下拉列表,为什么。请建议我,我正在等待你的答复。谢谢你试试这个

<script type="text/javascript">
$("#btnAdd").click(function()
 {
    var field = $("#field").val();
    var year = new Date().getFullYear();
    var DDL_fromProfession=document.createElement("select");
    DDL_fromProfession.setAttribute("name","ParametersFromProf");
    DDL_fromProfession.setAttribute("id","DDL_FromProYear");
    for (var i = year; i >= 1950; --i) 
    {
       var option=document.createElement("option");
       option.setAttribute("value",i);
       option.text=i;
       DDL_fromProfession.appendChild(option);
    }

    var DDL_ToProfession=document.createElement("select");
    DDL_ToProfession.setAttribute("name","ParametersToProf");
    DDL_ToProfession.setAttribute("id","DDL_ToProYear");
    for (var i = year; i >= 1950; --i) 
    {
        if (j != year) 
       {
         var option=document.createElement("option");
         option.setAttribute("value",i);
         option.text=i;
         DDL_ToProfession.appendChild(option);
       }
       else
       {
          var option=document.createElement("option");
         option.setAttribute("value","parent");
         option.text="parent";
         DDL_ToProfession.appendChild(option);
       }
    }

    var table=document.getElementById("Controls");
    var tr = document.createElement("tr");
    var td = document.createElement("td");
    var button=document.createElement("button");
    button.setAttribute("class","btn_rmv");
    button.setAttribute("type","button");
    var br=createElementById("br");
    td.appandChild("From "+DDL_FromProfession + " To "+DDL_ToProfession);
    td.appandChild(br);
    td.appandChild(button);
    tr.appendChild(td);
    table.appandChild(tr);

 });
</script>

同样,您可以创建文本框并将其附加到表中。希望它能帮助你。祝你好运。

谢谢。但我使用的是ruby on rails按钮,即当我单击此按钮时,它不会进入btnAdd函数。等等……你有什么问题。你是否无法调用JavaScript函数或无法显示动态添加的控件……请查看此链接以调用JavaScript函数。祝你好运。