如何将 java 脚本变量作为值加载到 bootstrap 模型文本框中
how to load java script variable in to the bootstrap model text box as value
我在 javascript 变量加载到 bootstrap 模型输入框时遇到一些问题:
setTimeout(function() {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm) {
if (isConfirm) {
$('#hours_work').val(data.value); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box
$('#overtime_requset').modal('show');
clear_field();
}
});
}, 1);
<div class="modal" id="overtime_requset">
<div class="modal-dialog ">
<form id="overtime_requset_form">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<h4 class="modal-title">Sub OT Request</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<!-- Modal body -->
<div class="modal-body">
<div class="form-group">
<div class="input-daterange">
<input type="text" name="from_date" id="from_date" class="form-control" value="<?php echo $_GET[" month "]; ?>" readonly />
<span id="error_from_date" class="text-danger"></span>
<span id="error_future_from_date" class="text-danger text-center"></span>
</div>
</div>
<div class="form-group">
<label class="text-info">Tolal Number Of Employee <?php echo get_total_employee_count($connect,$_SESSION["dept_Id"])?></br>
<label>Add the addition number of OT hours requried</lable>
<input type="text" name="hours_work" id="hours_work" class="form-control" value=""/>
<label class="text-secondary">Approved OT hours : <?php echo GetApprovedOt($connect,$_SESSION["dept_Id"],$currentMonth)?></br></label><br>
<label class="text-secondary">Pendding OT hours : <?php echo GetPendingOt($connect,$_SESSION["dept_Id"],$currentMonth)?></label>
</div>
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" name="get_approval" id="get_approval" class="btn btn-info btn-sm">Get Approval</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Close</button>
</div>
</div>
</form>
</div>
</div>
data.value 在这里提醒正确的值。但是这个值不会加载到 bootstrap 模型文本框中。我的错误是什么?我如何解决它? (唯一的问题是传递 JavaScript 值未加载到文本字段的内部。它可以打印为 HTML 输出到 div 标签)
更新
我使用了以下 cdn sweetAlert boostrap
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
对于表单输入字段,您需要使用 val()
而不是 text()
。
示例:$('#hours_work').val(data.value);
请检查你的html语法
旧
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
新
<input type="text" name="hours_work" id="hours_work" class="form-control" value=""/>
并一一核对
$('#hours_work').val(data.value);
$('#hours_work').text(data.value);
请在bootstrap模态
下写这个javascript
<div class="modal" id="overtime_requset">
....
<script>
setTimeout(function () {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm){
if (isConfirm) {
$('#hours_work').text(data.value);//data.value alert the correct value in here.but this value not load in to the bootstrap model text box
$('#overtime_requset').modal('show');
clear_field();
}
}); }, 1);
</script>
</div>
如果你简单地使用委托就可以解决你的问题。
喜欢而不是直接使用 $('#hours_work').val(data.value);
尝试任何父引用。您的文档,例如正文。所以 $('#hours_work',$('body')).val(data.value);
您可以使用模态框的任何父引用 div。在其中放置您的模态代码而不是主体。此 div 的父级 div。
这是因为您的 dom 不知道动态加载的模型元素。
让我知道它是否有效
试试这个。我认为 function(isConfirm)
是个问题。
You need use then() function
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
type: "warning",
showCancelButton: false
}).then(function (result) {
$('#hours_work').val(data.value);
$('#overtime_requset').modal('show');
});
您遇到此问题是因为您正尝试向字段 #hours_work
添加值,该字段尚未在 DOM 中呈现,因为 $('#overtime_requset').modal('show');
正在为 $('#overtime_requset').modal('show');
赋值后呈现$('#hours_work').val(data.value);
而input field是Model的一部分,所以你只需要先添加model,然后给input field赋值:
setTimeout(function() {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time
allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm) {
if (isConfirm) {
$('#overtime_requset').modal('show');
$('#hours_work').val(data.value);
}
});
}, 1);
你发布的代码有点缺乏并且有一些错误,无论如何我试图复制你的问题,我想我可能已经让它工作了。看看下面的 jsfiddle 片段,看看你是否可以在你的代码中实现它来让它工作。
首先检查这个 LINK: https://jsfiddle.net/b1nary/je60gxv8/2/
更新了您的 SWEETALERT: https://jsfiddle.net/b1nary/je60gxv8/11/
setTimeout(function() {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data_val + " Hours to Time allocate",
type: "warning",
showCancelButton: true,
confirmButtonText: "Yes, do it",
closeOnConfirm: false,
html: false
}, function(){
swal("Deleted!",
"Poof! Your number has been added to input box!",
"success");
$('#hours_work').val(data_val);
$('#overtime_requset').modal('show');
//clear fields
});
}, 1000 );
我已经完成了您的要求并且正在为我工作,请运行在本地使用下面的代码:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<script>
setTimeout(function() {
var myArray = {id1: 100, id2: 200};
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval "+ myArray.id1+ " Hours to Time allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm) {
if (isConfirm) {
$('#hours_work').val(myArray.id1); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box
$('#overtime_requset').modal('show');
}
else{
console.log("test");
}
});
}, 1);
</script>
<div class="modal" id="overtime_requset">
<div class="modal-dialog ">
<form id="overtime_requset_form">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Sub OT Request</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="form-group">
<div class="input-daterange">
<input type="text" name="from_date" id="from_date" class="form-control" value="" readonly />
<span id="error_from_date" class="text-danger"></span>
<span id="error_future_from_date" class="text-danger text-center"></span>
</div>
</div>
<div class="form-group">
<label class="text-info">Tolal Number Of Employee </br>
<label>Add the addition number of OT hours requried</lable>
<input type="text" name="hours_work" id="hours_work" class="form-control" value=""/>
<label class="text-secondary">Approved OT hours : </br></label><br>
<label class="text-secondary">Pendding OT hours :</label>
</div>
</div>
<div class="modal-footer">
<button type="button" name="get_approval" id="get_approval" class="btn btn-info btn-sm">Get Approval</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Close</button>
</div>
</div>
</form>
</div>
</div>
如果您定义了 data
JavaScript 对象和 clear_field
函数,并且调用了 JQuery 和 Bootstrap 库。您的代码不会有任何问题。
检查这个 JSFiddle 页面:https://jsfiddle.net/1x6t3ajp
我在 javascript 变量加载到 bootstrap 模型输入框时遇到一些问题:
setTimeout(function() {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm) {
if (isConfirm) {
$('#hours_work').val(data.value); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box
$('#overtime_requset').modal('show');
clear_field();
}
});
}, 1);
<div class="modal" id="overtime_requset">
<div class="modal-dialog ">
<form id="overtime_requset_form">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<h4 class="modal-title">Sub OT Request</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<!-- Modal body -->
<div class="modal-body">
<div class="form-group">
<div class="input-daterange">
<input type="text" name="from_date" id="from_date" class="form-control" value="<?php echo $_GET[" month "]; ?>" readonly />
<span id="error_from_date" class="text-danger"></span>
<span id="error_future_from_date" class="text-danger text-center"></span>
</div>
</div>
<div class="form-group">
<label class="text-info">Tolal Number Of Employee <?php echo get_total_employee_count($connect,$_SESSION["dept_Id"])?></br>
<label>Add the addition number of OT hours requried</lable>
<input type="text" name="hours_work" id="hours_work" class="form-control" value=""/>
<label class="text-secondary">Approved OT hours : <?php echo GetApprovedOt($connect,$_SESSION["dept_Id"],$currentMonth)?></br></label><br>
<label class="text-secondary">Pendding OT hours : <?php echo GetPendingOt($connect,$_SESSION["dept_Id"],$currentMonth)?></label>
</div>
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" name="get_approval" id="get_approval" class="btn btn-info btn-sm">Get Approval</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Close</button>
</div>
</div>
</form>
</div>
</div>
data.value 在这里提醒正确的值。但是这个值不会加载到 bootstrap 模型文本框中。我的错误是什么?我如何解决它? (唯一的问题是传递 JavaScript 值未加载到文本字段的内部。它可以打印为 HTML 输出到 div 标签)
更新 我使用了以下 cdn sweetAlert boostrap
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
对于表单输入字段,您需要使用 val()
而不是 text()
。
示例:$('#hours_work').val(data.value);
请检查你的html语法
旧
<input type="text" name="hours_work" id="hours_work" class="form-control value=""/>
新
<input type="text" name="hours_work" id="hours_work" class="form-control" value=""/>
并一一核对
$('#hours_work').val(data.value);
$('#hours_work').text(data.value);
请在bootstrap模态
下写这个javascript<div class="modal" id="overtime_requset">
....
<script>
setTimeout(function () {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm){
if (isConfirm) {
$('#hours_work').text(data.value);//data.value alert the correct value in here.but this value not load in to the bootstrap model text box
$('#overtime_requset').modal('show');
clear_field();
}
}); }, 1);
</script>
</div>
如果你简单地使用委托就可以解决你的问题。
喜欢而不是直接使用 $('#hours_work').val(data.value);
尝试任何父引用。您的文档,例如正文。所以 $('#hours_work',$('body')).val(data.value);
您可以使用模态框的任何父引用 div。在其中放置您的模态代码而不是主体。此 div 的父级 div。
这是因为您的 dom 不知道动态加载的模型元素。
让我知道它是否有效
试试这个。我认为 function(isConfirm)
是个问题。
You need use then() function
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time allocate in the department",
type: "warning",
showCancelButton: false
}).then(function (result) {
$('#hours_work').val(data.value);
$('#overtime_requset').modal('show');
});
您遇到此问题是因为您正尝试向字段 #hours_work
添加值,该字段尚未在 DOM 中呈现,因为 $('#overtime_requset').modal('show');
正在为 $('#overtime_requset').modal('show');
赋值后呈现$('#hours_work').val(data.value);
而input field是Model的一部分,所以你只需要先添加model,然后给input field赋值:
setTimeout(function() {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data.value + " Hours to Time
allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm) {
if (isConfirm) {
$('#overtime_requset').modal('show');
$('#hours_work').val(data.value);
}
});
}, 1);
你发布的代码有点缺乏并且有一些错误,无论如何我试图复制你的问题,我想我可能已经让它工作了。看看下面的 jsfiddle 片段,看看你是否可以在你的代码中实现它来让它工作。
首先检查这个 LINK: https://jsfiddle.net/b1nary/je60gxv8/2/
更新了您的 SWEETALERT: https://jsfiddle.net/b1nary/je60gxv8/11/
setTimeout(function() {
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval " + data_val + " Hours to Time allocate",
type: "warning",
showCancelButton: true,
confirmButtonText: "Yes, do it",
closeOnConfirm: false,
html: false
}, function(){
swal("Deleted!",
"Poof! Your number has been added to input box!",
"success");
$('#hours_work').val(data_val);
$('#overtime_requset').modal('show');
//clear fields
});
}, 1000 );
我已经完成了您的要求并且正在为我工作,请运行在本地使用下面的代码:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<script>
setTimeout(function() {
var myArray = {id1: 100, id2: 200};
swal({
title: "OverTime Status!",
text: "You Need to get Sub OT Approval "+ myArray.id1+ " Hours to Time allocate in the department",
type: "warning",
confirmButtonText: "OK"
},
function(isConfirm) {
if (isConfirm) {
$('#hours_work').val(myArray.id1); //data.value alert the correct value in here.but this value not load in to the bootstrap model text box
$('#overtime_requset').modal('show');
}
else{
console.log("test");
}
});
}, 1);
</script>
<div class="modal" id="overtime_requset">
<div class="modal-dialog ">
<form id="overtime_requset_form">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Sub OT Request</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="form-group">
<div class="input-daterange">
<input type="text" name="from_date" id="from_date" class="form-control" value="" readonly />
<span id="error_from_date" class="text-danger"></span>
<span id="error_future_from_date" class="text-danger text-center"></span>
</div>
</div>
<div class="form-group">
<label class="text-info">Tolal Number Of Employee </br>
<label>Add the addition number of OT hours requried</lable>
<input type="text" name="hours_work" id="hours_work" class="form-control" value=""/>
<label class="text-secondary">Approved OT hours : </br></label><br>
<label class="text-secondary">Pendding OT hours :</label>
</div>
</div>
<div class="modal-footer">
<button type="button" name="get_approval" id="get_approval" class="btn btn-info btn-sm">Get Approval</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Close</button>
</div>
</div>
</form>
</div>
</div>
如果您定义了 data
JavaScript 对象和 clear_field
函数,并且调用了 JQuery 和 Bootstrap 库。您的代码不会有任何问题。
检查这个 JSFiddle 页面:https://jsfiddle.net/1x6t3ajp