Javascript 更改foreach循环内的按钮文本
我有一个按钮,当我点击这个按钮时,它应该会改变它的文本。它在foreach循环中。但问题是,当我点击那个按钮时,第一个按钮文本会发生变化。我想更改我单击的特定按钮文本..如何更改 前端部件Javascript 更改foreach循环内的按钮文本,javascript,php,jquery,Javascript,Php,Jquery,我有一个按钮,当我点击这个按钮时,它应该会改变它的文本。它在foreach循环中。但问题是,当我点击那个按钮时,第一个按钮文本会发生变化。我想更改我单击的特定按钮文本..如何更改 前端部件 @foreach($products as $product) <button onclick="this.disabled=true; quoteAdd('{!!$product->id!!}')" id="inquireButton" class="btn btn-dange
@foreach($products as $product)
<button onclick="this.disabled=true; quoteAdd('{!!$product->id!!}')" id="inquireButton" class="btn btn-danger ">Inquire</button>
@endforeach
function quoteAdd(productId)
{
$("#inquireButton").html('Save');
// other code ..
}
您需要使用
this
关键字将按钮引用传递到quotead
方法,如下所示
PHP
@foreach($products as $product)
<button onclick="this.disabled=true; quoteAdd('{!!$product->id!!}', this)" id="inquireButton" class="btn btn-danger ">Inquire</button>
@endforeach
FYI
id
对于每个元素都应该是唯一的。HTML中的id
属性的值应该是唯一的,因此基本上你所做的是错误的(你不应该在循环中有固定的id)
无论此问题如何,您都可以执行以下操作:
//前端部件
@foreach($products as $product)
<button onclick="this.disabled=true; quoteAdd(this)" id="inquireButton_{!!$product->id!!}" class="btn btn-danger ">Inquire</button>
@endforeach
@foreach($products as $product)
<button onclick="this.disabled=true; quoteAdd(this)" id="inquireButton_{!!$product->id!!}" class="btn btn-danger ">Inquire</button>
@endforeach
function quoteAdd(el)
{
$(el).html('Save');
// other code ..
}