PHP如何在Javascript

时间:2017-05-31 12:54:38

标签: javascript php jquery loops foreach

我希望教师在点击按钮时选择多个班级,从数据库中选择班级并通过标签显示。我已经创建了一个函数,它创建了一个新的select并显示了另一个类列表,但是我的foreach循环似乎不起作用...

这是我的JQuery,它位于HTML中的'script'标记内:

$(document).ready(function() {
    var max_fields      = 10; //maximum input boxes allowed
    var wrapper         = $(".input_fields_wrap"); //Fields wrapper
    var add_button      = $(".add_field_button"); //Add button ID

    var x = 1; //initlal text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            $(wrapper).append('<div><select name="klas" style="width:40%;"><?php foreach ($klas as $klas) {echo "<option  value='".$klas->getCode()."'>".$klas->getCode()."</option>"; } ?></select><a href="#" class="remove_field">Verwijder</a></div>'); //add input box
        }
    });

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); $(this).parent('div').remove(); x--;
    })
});

这是按钮和相应的div:

<div class="input_fields_wrap">
    <button type="button" class="add_field_button">Add More Fields</button>
    <div>
<select name="klas">
<?php foreach ($klas as $klas) {
echo "<option  value='".$klas->getCode()."'>".$klas->getCode()."</option>"; } ?>
</select>
    </div>
</div>

有人知道如何从常规的php / html选择框中获得与JQuery相同的结果吗?

2 个答案:

答案 0 :(得分:0)

在这个答案中将你的数组放在arr格式中并附加到你想要的页面上的div当前我使用select_div

<div class="input_fields_wrap">
        <button type="button" class="add_field_button">Add More Fields</button>
        <div id ="select_div">
        </div>
    </div>
    <script type="text/javascript">
    var arr = [
      {val : 1, text: 'One'},
      {val : 2, text: 'Two'},
      {val : 3, text: 'Three'}
    ];

    var sel = $('<select>').appendTo('#select_div');

    $(arr).each(function() {
     sel.append($("<option>").attr('value',this.val).text(this.text));
    });
    sel.append("</select>")
    </script>

答案 1 :(得分:0)

找到它。您的问题是您对x[i][j]数组和内部int变量使用相同的值名称。虽然这在技术上并不正确,但请注意,$klas foreach变量将等于数组的最后一个元素 - 不是数组本身

由于你在javascript中使用这个循环很难发现,而foreach的本地测试表明一切都很好。

无论如何,请从以下地址更新您的代码(无处不在):

$klas

foreach