我有多个oneclick按钮,他们启动了2个函数a和b,按钮在foreach循环中,但当我单击按钮时,它只给出最后一个请求数据。
如何在php foreach循环中添加正确的js?
function a()
{
document.getElementById('img').src='{{$produkt->productIcon->productIconSmallUrl}}';
}
function b(){
document.getElementById("price").innerHTML = "{{$produkt->productPurchasePriceGrossLast}}" ;
}<img id="img" src="/placeholder.png" style="width:100px">
<br>Cena: <p id="price"></p>
<br>
<br>
<button onclick="a();b();">Kupuje</button>
控制器:
public function getProducts ()
{
$address = 'https://growtent.iai-shop.com/api/?gate=products/get/84/soap';
$wsdl = $address . '/wsdl';
$binding = array();
$binding['location'] = $address;
$binding['trace'] = true;
$client = new SoapClient($wsdl, $binding);
$request = array();
$request['get'] = array();
$request['get']['authenticate'] = array();
$request['get']['authenticate']['userLogin'] = $this->login;
$request['get']['authenticate']['authenticateKey'] = sha1(date('Ymd') . sha1($this->password));
$request['get']['params'] = array();
$request['get']['params']['returnProducts'] = "active";
$request['get']['params']['productIsAvailable'] = "y";
$request['get']['params']['resultsPage'] = 2;
$request['get']['params']['resultsLimit'] = 10;
//$request['get']['params']['categories'][0]['categoryName'] = "Growboxy";
$response = $client->__call('get', $request);
return view('welcome',['response'=>$response]);
}路由:
Route::get('/', 'WelcomeController@getProducts');查看文件:
<body>
<img id="img" src="/placeholder.png" style="width:100px">
<br>Cena: <p id="price"></p>
<br>
<br>
<hr>
<br>
<br>
<br>
<br>
<br>
<br>
@foreach($response->results as $produkt)
<p>ID: {{$produkt->productId}}</p>
@foreach($produkt->productDescriptionsLangData as $name)
@if($name->langId == 'pol')
<a href="https://www.growtent.pl/product-pol-{{$produkt->productId}}"><p>{{$name->productName}}</p></a>
@endif
@endforeach
<p>{{$produkt->productPurchasePriceGrossLast}} zł</p>
<img src="{{$produkt->productIcon->productIconSmallUrl}}" />
<button onclick="a();b();">test</button>
<button onclick="document.getElementById('img').src='{{$produkt->productIcon->productIconSmallUrl}}'">fota</button>
@endforeach
<script>
function a()
{
document.getElementById('img').src='{{$produkt->productIcon->productIconSmallUrl}}';
}
function b(){
document.getElementById("price").innerHTML = "{{$produkt->productPurchasePriceGrossLast}}" ;
}
</script>
</body>发布于 2019-03-13 21:49:25
你将img和price元素渲染为标签,没有ID,记住ID必须是唯一的,如果你想访问它们,你需要用唯一的ID来检索它们,所以一种选择是设置一个唯一的ID,然后设置它的值。如下所示:
@foreach($response->results as $produkt)
<p>ID: {{$produkt->productId}}</p>
@foreach($produkt->productDescriptionsLangData as $name)
@if($name->langId == 'pol')
<a href="https://www.growtent.pl/product-pol-{{$produkt->productId}}">.<p>{{$name->productName}}</p></a>
@endif
@endforeach
<p id="p_{{$product->id}}">{{$produkt->productPurchasePriceGrossLast}} zł</p>
<img id="img_{{$product->id}}" src="{{$produkt->productIcon->productIconSmallUrl}}" />
<button onclick="a();b();">test</button>
@endforeach
function a()
{
document.getElementById('img_{{$product->productId}}').src='{{$produkt->productIcon->productIconSmallUrl}}';
}
function b(){
document.getElementById("p_{{$product->productId}}").innerHTML = "{{$produkt->productPurchasePriceGrossLast}}" ;
}
https://stackoverflow.com/questions/55142654
复制相似问题