使用 JQuery in Laravel 5 从 href 中提取值时出错
Error in extract value from href with JQuery in Laravel 5
我的 blade 是这样加载的
<table class="table table-hover" style="table-layout: fixed;">
@foreach ($product as $product)
<tr>
<td><h6><img src="{{asset('assets/products/'.$product->img)}}" class="img-responsive" style="max-height: 100px"></h6></td>
<td>{{$product->product_name}}</td>
<td style="word-wrap:break-word; width: 45%;">{{$product->description}}</td>
<td>${{$product->product_price}}</td>
<td colspan="3">
<a href="{{url('admin/set/status/product?id='.$product['product_id'])}}" onclick="return confirm('Are you sure ?')" class="{{$product['status']==1 ? 'btn btn-danger btn-lnk' : 'btn btn-success btn-lnk'}}">{{$product['status']==0 ? 'Enable ':'Disable'}}</a>
<a href="{{url('/admin/product/edit?id='.$product['product_id'])}}" class="btn btn-info btn-lnk">Edit</a>
//modal load from this link
<a href="#{{$product['product_id']}}" class="btn btn-success btn-lnk" data-toggle="modal" data-target="#myModal" id="code">+Add File</a>
</td>
</tr>
@endforeach
</table>
我的模型是这样的
<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" data-keyboard="false" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Upload Your File for {{$product['product_name']}}</h4>
</div>
<!-- START OF MODAL BODY-->
<div class="modal-body" style="padding-left: 10%">
<p>Please choose a file to upload. EXE, ISO, RAR, ZIP.</p>
<form role="form" method="post" class="form-horizontal" action="{{url('admin/addproductexe')}}" id="frm_01" enctype="multipart/form-data">
//load value from <a href>
<input type="text" name="Id" id="Id" value=""/>
<label for="file">File input</label>
<input id="uploadBtn" type="file" class="" name="fileField" />
<p></p>
<button type="submit" class="btn btn-info btn-lnk">Upload</button>
</form>
</div>
<!-- END OF APPLICATION FORM MODAL BODY -->
<div class="modal-footer">
<button type="button" class="btn btn-danger btn-lnk" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
我的 JS 是这个
<script>
var clearBn = $("#code");
clearBn.on("click", function(){
var link = $(this).attr('href');
var hashPosition = link.indexOf('#'); //Get the position of '#'
var number = link.substring(hashPosition + 1); //Split the string and get the number.
$(".modal-body #Id").val( number );
});
</script>
终于生成了这种 href link
/public/admin/product/all#3
我只得到第一个 link 值。这有什么问题:(
亮点:我正在使用 foreach 生成我的视图。我认为这就是其他 link 不按我的意愿行事的原因
这是预期的行为,因为您在循环中创建锚元素,因此它创建的元素具有相同的 ID。
HTML中的标识符必须是唯一的,使用通用的class则可以使用Class Selector (“.class”)。喜欢
脚本
var clearBn = $(".code");
HTML,这里我给元素添加了classcode
,去掉了Id属性
<a href="#{{$product['product_id']}}"
class="btn btn-success btn-lnk code"
data-toggle="modal"
data-target="#myModal">+Add File</a>
</td>
我的 blade 是这样加载的
<table class="table table-hover" style="table-layout: fixed;">
@foreach ($product as $product)
<tr>
<td><h6><img src="{{asset('assets/products/'.$product->img)}}" class="img-responsive" style="max-height: 100px"></h6></td>
<td>{{$product->product_name}}</td>
<td style="word-wrap:break-word; width: 45%;">{{$product->description}}</td>
<td>${{$product->product_price}}</td>
<td colspan="3">
<a href="{{url('admin/set/status/product?id='.$product['product_id'])}}" onclick="return confirm('Are you sure ?')" class="{{$product['status']==1 ? 'btn btn-danger btn-lnk' : 'btn btn-success btn-lnk'}}">{{$product['status']==0 ? 'Enable ':'Disable'}}</a>
<a href="{{url('/admin/product/edit?id='.$product['product_id'])}}" class="btn btn-info btn-lnk">Edit</a>
//modal load from this link
<a href="#{{$product['product_id']}}" class="btn btn-success btn-lnk" data-toggle="modal" data-target="#myModal" id="code">+Add File</a>
</td>
</tr>
@endforeach
</table>
我的模型是这样的
<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" data-keyboard="false" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Upload Your File for {{$product['product_name']}}</h4>
</div>
<!-- START OF MODAL BODY-->
<div class="modal-body" style="padding-left: 10%">
<p>Please choose a file to upload. EXE, ISO, RAR, ZIP.</p>
<form role="form" method="post" class="form-horizontal" action="{{url('admin/addproductexe')}}" id="frm_01" enctype="multipart/form-data">
//load value from <a href>
<input type="text" name="Id" id="Id" value=""/>
<label for="file">File input</label>
<input id="uploadBtn" type="file" class="" name="fileField" />
<p></p>
<button type="submit" class="btn btn-info btn-lnk">Upload</button>
</form>
</div>
<!-- END OF APPLICATION FORM MODAL BODY -->
<div class="modal-footer">
<button type="button" class="btn btn-danger btn-lnk" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
我的 JS 是这个
<script>
var clearBn = $("#code");
clearBn.on("click", function(){
var link = $(this).attr('href');
var hashPosition = link.indexOf('#'); //Get the position of '#'
var number = link.substring(hashPosition + 1); //Split the string and get the number.
$(".modal-body #Id").val( number );
});
</script>
终于生成了这种 href link
/public/admin/product/all#3
我只得到第一个 link 值。这有什么问题:(
亮点:我正在使用 foreach 生成我的视图。我认为这就是其他 link 不按我的意愿行事的原因
这是预期的行为,因为您在循环中创建锚元素,因此它创建的元素具有相同的 ID。
HTML中的标识符必须是唯一的,使用通用的class则可以使用Class Selector (“.class”)。喜欢
脚本
var clearBn = $(".code");
HTML,这里我给元素添加了classcode
,去掉了Id属性
<a href="#{{$product['product_id']}}"
class="btn btn-success btn-lnk code"
data-toggle="modal"
data-target="#myModal">+Add File</a>
</td>