Laravel!如何将集合值与<input>文本进行比较?

时间:2019-10-01 13:28:28

标签: php laravel laravel-blade

当用户单击按钮时,我需要将收集项目值与刀片模板中的文本进行比较。

类似这样的东西

@foreach notes as note

@if $note->number == <input id="number" name="number">

<h2>$note->contente</h2>

@endif

@endforeach

请问如何进行这种比较?

1 个答案:

答案 0 :(得分:1)

这必须用Javascript完成,Blade会在Javascript加载或输入更改之前以HTML方式输出

这是一个例子(不要复制粘贴)

@foreach($notes as $note)

<h2 hidden>{{ $note->name }}</h2>
<input id="number" name="number"><br>

@endforeach
<button onclick="showCorrectNames()">Check</button>
<script>
    function showCorrectNames() {
        var inputs = document.getElementsByTagName("input");
        for (let input of inputs) {
            if (input.value === input.previousElementSibling.innerText) {
                input.previousElementSibling.hidden = false;
            }
        }
    }
</script>

说明:

  • 始终将标题标记为默认隐藏
  • 在其旁边放置一个输入,并在单击按钮时查询其值
  • 收听按钮上的click事件并执行Javascript函数
  • 获取所有输入元素的完整列表
  • 遍历HTML集合
  • 如果输入值与DOM中的前一个标题值(内部文本)匹配
  • 将标题的hidden属性设置为false

实时示例:

function showCorrectNames() {
        var inputs = document.getElementsByTagName("input");
        for (let input of inputs) {
            if (input.value === input.previousElementSibling.innerText) {
                input.previousElementSibling.hidden = false;
            }
        }
    }
<h2 hidden>Cecelia Denesik Jr.</h2>
<input id="number" name="number"><br>


<h2 hidden>Cristian McCullough</h2>
<input id="number" name="number"><br>


<h2 hidden>Forest Pollich</h2>
<input id="number" name="number"><br>


<h2 hidden>Mckenna Jacobson</h2>
<input id="number" name="number"><br>


<h2 hidden>Rudolph Luettgen MD</h2>
<input id="number" name="number"><br>


<h2 hidden>Mazie Shields III</h2>
<input id="number" name="number"><br>


<h2 hidden>Mr. Arlo Hudson Sr.</h2>
<input id="number" name="number"><br>


<h2 hidden>Joanie Rogahn</h2>
<input id="number" name="number"><br>


<h2 hidden>Stephan Feil</h2>
<input id="number" name="number"><br>


<h2 hidden>Isadore Schultz</h2>
<input id="number" name="number"><br>

<button onclick="showCorrectNames()">Check</button>

我希望这对您有帮助