jQuery在Javascript函数中不起作用
下面是一个场景 我有这个观点jQuery在Javascript函数中不起作用,javascript,jquery,Javascript,Jquery,下面是一个场景 我有这个观点 <div class="modal fade " id="invoiceModal" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-
<div class="modal fade " id="invoiceModal" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Generate Invoice</h4>
</div>
<div class="modal-body">
<section id="no-more-tables">
{!! Form::open(['url'=>'invoice/create', 'role'=>'form','class'=>'form-horizontal']) !!}
{!! Form::select('account_id', $accounts, null, ['id'=>'account_id', 'class'=>'form-control advance-selection', 'required']) !!}
{!! Form::select('prices', $prices, '', ['id'=>'item_prices','style'=>'display:none;']) !!}
{!! Form::select('packaging_type', $packaging_type, '', ['id'=>'packaging_type','style'=>'display:none;']) !!}
<table class="table table-bordered table-striped table-condensed cf">
<thead class="cf">
<tr>
<th>Item</th>
<th>Packaging(Type)</th>
<th>Quantity/Pack</th>
<th>Quantity</th>
<th>Packs</th>
<th>Price</th>
<th>Total</th>
</tr>
</thead>
<tbody id="order_body">
</tbody>
<tbody>
<tr>
<td colspan="6" class="text-right">
<strong>Total</strong>
</td>
<td><div class="input-group">
{!! Form::input('number','total_price', null, ['id'=>'total_price', 'class'=>'form-control text-right','readonly']) !!}
</div>
</td>
</tr>
<tr>
<td colspan="7" data-title="Actions">
{!! Form::submit('Post',['class'=>'btn btn-primary btn-md button-next']) !!}
<a href="javascript:void(0)" onclick="add_order_row()" class="btn btn-primary btn-md" id="add_more_btn">
<i class="fa fa-plus"></i>
</a>
<a href="javascript:void(0)" onclick="remove_order_row()" class="btn btn-danger btn-md" id="remove_btn">
<i class="fa fa-minus"></i>
</a>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="modal-footer">
<button data-dismiss="modal" class="btn btn-default" type="button">Close</button>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
&时代;
生成发票
{!!表单::打开(['url'=>'invoice/create','role'=>'Form','class'=>'Form-horizontal'])
{!!Form::select('account\u id',$accounts,null,['id'=>'account\u id','class'=>'Form-control advance selection','required'])
{!!Form::select('prices',$prices',,['id'=>'item_prices','style'=>'display:none;'])
{!!Form::select('packaging_type',$packaging_type',,['id'=>'packaging_type','style'=>'display:none;'])
项目
包装(类型)
数量/包
量
包装
价格
全部的
总计
{!!Form::input('number','total_price',null,['id'=>'total_price','class'=>'Form-control text right','readonly'])
{!!表单::提交('Post',['class'=>'btn btn主btn md按钮next'])
接近
{!!Form::close()!!}
这是我与jQuery混合的Javascript代码
<script>
$('.advance-selection').css({'width':'100%'}).select2();
var total_rows = 0;
function get_inventory_dropdown(name, count) {
if(name == 'item'){
var str = '{!! Form::select('order[#count#][#name#]',$inventories, 0, ['id'=>'order_#count#_#name#', 'class'=>'form-control','placeholder' => 'Select an item','style'=>'width:100%','required']) !!}'; // Capital - Faizan Chugtai
// $("#order_"+count+"_"+name+"").prop("selectedIndex", -1);
}
if(name == 'packaging_type'){
var str = '{!! Form::select('order[#count#][#name#]', $packaging_type, 1, ['id'=>'order_#count#_#name#', 'class'=>'form-control','style'=>'width:100%','required']) !!}';
}
var count_reg = new RegExp('#count#','g');
str = str.replace(count_reg,count);
var name_reg = new RegExp('#name#','g');
str = str.replace(name_reg,name);
return str;
}
function get_text_field(name, count) {
var str = '{!! Form::text('order[#count#][#name#]', '', ['id'=>'order_#count#_#name#', 'class'=>'form-control']) !!}'; //item
if( name == 'quantity' ){
str = '{!! Form::input('number', 'order[#count#][#name#]', '1', ['id'=>'order_#count#_#name#', 'class'=>'form-control', 'min'=>'1']) !!}';
}
if( name == 'packaging_type' ){
str = '{!! Form::text('order[#count#][#name#]', '', ['id'=>'order_#count#_#name#', 'class'=>'form-control','required',]) !!}'
}
if( name == 'quantity_per_pack' ){
str = '{!! Form::input('number', 'order[#count#][#name#]', '', ['id'=>'order_#count#_#name#', 'class'=>'form-control','min'=>'1','required',]) !!}';
}
if( name == 'packs' ){
str = '{!! Form::input('number', 'order[#count#][#name#]', '', ['id'=>'order_#count#_#name#', 'class'=>'form-control', 'min'=>'1']) !!}';
}
if( name == 'price' ){
str = '{!! Form::input('number', 'order[#count#][#name#]', '', ['id'=>'order_#count#_#name#', 'class'=>'form-control text-right','min'=>'0']) !!}';
}
if( name == 'total' ){
str = '<div class="input-group">{!! Form::input('number', 'order[#count#][#name#]', '', ['id'=>'order_#count#_#name#', 'class'=>'form-control total-price-item text-right', 'readonly']) !!} </div>';
}
var count_reg = new RegExp('#count#','g');
str = str.replace(count_reg,count);
var name_reg = new RegExp('#name#','g');
str = str.replace(name_reg,name);
return str;
}
function assign_price(item) {
var prices_list = $('#item_prices option');
prices_list.each(function (i, e) {
if(e.value == item.value)
$(item).closest('tr').find('td[data-title="Price"] input').val($(e).text());
});
}
function calculate_total_price(field) {
$('.alert').hide();
if($(field).val() != 0){
var qty = $(field).val();
var price = $(field).closest('tr').find('td[data-title="Price"] input').val();
$(field).closest('tr').find('td[data-title="Total"] input').val(price*qty);
}else{
$('.modal-body').prepend('<div class="alert alert-danger">Quantity can not be empty or zero!</div>');
}
}
function update_grand_total() {
var total_price = 0;
$('.total-price-item').each(function(i, e){
total_price += parseInt( $(e).val() );
});
$('#total_price').val(total_price);
}
function add_order_row() {
var html = '<tr>' +
'<td data-title="Item">'+get_inventory_dropdown('item',total_rows)+'</td>' +
'<td data-title="Packaging(Type)">'+get_inventory_dropdown('packaging_type',total_rows)+'</td>' +
'<td data-title="Quantity/Pack">'+get_text_field('quantity_per_pack',total_rows)+'</td>' +
'<td data-title="Quantity">'+get_text_field('quantity', total_rows)+'</td>' +
'<td data-title="Quantity">'+get_text_field('packs', total_rows)+'</td>' +
'<td data-title="Price">'+get_text_field('price', total_rows)+'</td>' +
'<td data-title="Total">'+get_text_field('total', total_rows)+'</td>' +
'</tr>';
$("#order_body").append(html);
$('#order_'+total_rows+'_item').select2();
$('#order_'+total_rows+'_packaging_type').select2();
console.log('Hello');
$('#order_'+total_rows+'_item').on('change',function(evt){
assign_price(evt.target);
// update_packaging_type(evt.target);
calculate_total_price($(evt.target).closest('tr').find('td[data-title="Quantity"] input'));
update_grand_total();
});
$('#order_'+total_rows+'_price').on('change', function(evt){
calculate_total_price($(evt.target).closest('tr').find('td[data-title="Quantity"] input'));
update_grand_total();
});
$('#order_'+total_rows+'_quantity').on('change blur input', function (evt) {
calculate_total_price(evt.target);
update_grand_total();
});
$(document).on('keyup','#order_'+(total_rows)+'_quantity',function(){
var packs =($('#order_'+(total_rows-1)+'_quantity').val() / $('#order_'+(total_rows-1)+'_quantity_per_pack').val());
$('#order_'+(total_rows-1)+'_packs').val(packs);
});
$(document).on('keyup','#order_'+(total_rows)+'_packs',function(){
var quantity =($('#order_'+(total_rows-1)+'_packs').val() * $('#order_'+(total_rows-1)+'_quantity_per_pack').val());
$('#order_'+(total_rows-1)+'_quantity').val(quantity);
});
update_grand_total();
total_rows++;
if(total_rows == 200)
$('#add_more_btn').hide();
}
function remove_order_row(){
if(total_rows==1)
return false;
$('#order_body tr:last').remove();
total_rows--;
}
add_order_row();
</script>
$('.advanceselection').css({'width':'100%});
var总行数=0;
函数获取库存下拉列表(名称、计数){
如果(名称=='item'){
var str='{!!Form::select('order[#count#][#name#]],$inventory,0,['id'=>'order#count###name#','class'=>'Form-control','placeholder'=>'选择一个项目','style'=>'宽度:100%,'required')}///Capital Faizan-Chugtai
//$(“#订单u”+计数+“”+名称+”).prop(“selectedIndex”,-1);
}
如果(名称=‘包装类型’){
var str='{!!Form::select('order[#count#][#name#]],$packaging#type,1,['id'=>'order#count##name#','class'=>'Form-control','style'=>'width:100%,'required']);
}
var count_reg=new RegExp(“#count#”,“g”);
str=str.replace(计数,计数);
var name_reg=new RegExp('#name#','g');
str=str.replace(name_reg,name);
返回str;
}
函数获取文本字段(名称、计数){
var str='{!!Form::text('order[#count#][#name#]],'',['id'=>'order#count##name#','class'=>'Form-control'])!!}//item
如果(名称=‘数量’){
str='{!!Form::input('number'、'order[#count#][#name#]]、'1'、['id'=>'order#count#name#'、'class'=>'Form-control'、'min'=>'1']);
}
如果(名称=‘包装类型’){
str='{!!Form::text('order[#count#][#name#]],'','',['id'=>'order#count##name#','class'=>'Form-control','required',])
}
如果(名称=‘每包数量’){
str='{!!Form::input('number','order[#count#][#name#]],'','',['id'=>'order##count##name#','class'=>'Form-control','min'=>'1','required',]);
}
如果(名称=='packs'){
str='{!!Form::input('number','order[#count#][#name#]],'','',['id'=>'order#count##name#','class'=>'Form-control','min'=>'1']);
}
如果(名称=‘价格’){
str='{!!Form::input('number','order[#count#][#name#]],'','',['id'=>'order##count##name#','class'=>'Form-control text right','min'=>'0'])!!};
}
如果(名称=‘总计’){
str='{!!Form::input('number','order[#count#][#name#]],'','',['id'=>'order#count###name#','class'=>'Form-control total price item text right','readonly']);
}
var count_reg=new RegExp(“#count#”,“g”);
str=str.replace(计数,计数);
var name_reg=new RegExp('#name#','g');
str=str.replace(name_reg,name);
返回str;
}
功能分配价格(项目){
var价格_列表=$(“#项目_价格选项”);
价格清单。每个功能(即,e){
如果(e.value==项目值)
$(item).closest('tr').find('td[data title=“Price”]input').val($(e).text());
});
}
函数计算总价格(字段){
$('.alert').hide();
如果($(字段).val()!=0){
变量数量=$(字段).val();
var price=$(field).closest('tr').find('td[data title=“price”]input').val();
$(字段)。最近('tr')。查找('td[data title=“Total”]input')。val(价格*数量);
}否则{
$('.modal body').prepend('数量不能为空或零!');
}
}
函数