【问题标题】:How to append blade templete array into javascript如何将刀片模板数组附加到javascript中
【发布时间】:2015-01-30 16:41:38
【问题描述】:

我正在开发一个带有刀片模板的 laravel 应用程序。

当我点击加号按钮时,我会得到一个额外的字段,当我点击减号按钮时,它会被正确删除并且工作正常。

但是,我需要将附加部分生成为选择选项框,并且此选择选项框必须显示动态值。

<div class="RegSpLeft" id="affiliation">
  <select>
     @foreach($affiliation_array as $state_data)
      <option>{{$state_data->value}}</option>
     @endforeach
  </select>

</div>

我想在上面显示名为affiliation_array的数组。

我正在使用以下脚本来生成附加字段:

   $('.affiliation_add a.pl').click(function(e) {

        e.preventDefault();
        $('#affiliation').append('<select><!--here i want to append my array as options --></select>');
        num2++
    });
    $('.affiliation_add a.mi').click(function (e) {
        e.preventDefault();
        if ($('#affiliation select').length > 1) {
            $('#affiliation').children().last().remove();
        }
    }); 

我的按钮 div 在下面,

<div class="RegSpRight affiliation_add"> 
  <a href="#" class="pl"><img src="images/plus.png"></a>
  <a href="#" class="mi"><img src="images/minus.png"></a> 
</div>

请任何人帮我解决这个问题。

【问题讨论】:

  • 尝试将内容保存在javascript对象中并使用javascript创建html
  • 这不能像您尝试的那样工作,因为请求必须首先通过 PHP 运行,在 PHP 中评估 HTML 中的变量。这样做的方法是设置一个输出页面 html 的路由,他们在 javascript 中使用 AJAX 请求来查询该路由(url),然后将接收到的 HTML(带有已经渲染/eval'd 的变量)附加到现有的 HTML。

标签: javascript php jquery html laravel-4


【解决方案1】:

这应该可行:

 $('.affiliation_add a.pl').click(function(e) {

        e.preventDefault();
        $('#affiliation').append('<select>@foreach( $affiliation_array as $state_js )<option> {{   $state_js->value }}</option> @endforeach</select>');
        num2++
    });
    $('.affiliation_add a.mi').click(function (e) {
        e.preventDefault();
        if ($('#affiliation select').length > 1) {
            $('#affiliation').children().last().remove();
        }
    });

您可以将其复制并粘贴到您的项目中。您应该记住将变量名称 $state_js 更改为您喜欢的任何其他名称,或者如果您不介意,您仍然可以保留它。您还可以决定将选项名称和值添加到我放在那里的选项中。例如:

&lt;option value={{ $state-&gt;value }}&gt; {{ $state_js-&gt;value }}&lt;/option&gt;

【讨论】:

    猜你喜欢
    • 2020-06-16
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 2021-08-04
    • 2019-03-11
    相关资源
    最近更新 更多