当你有很多文本框时,如何从一个模态中只填充一个文本框
How to fill only one textbox from a modal when you have a lot of them
我解释了我的问题,我有这样的代码:
@Html.LabelFor(m => m.X.Y, new { @class = "col-sm-d col-sm-2 control-label" })
<div class="col-sm-2">
@Html.TextBoxFor(m => m.X.Y, new { @class = "form-control", @id = "X"})
</div>
<div class="col-sm-2">
@Html.EnumDropDownListFor(m => m.X.Y, new { @class = "form-control", @id = "Dropdown1" })
</div>
@Html.LabelFor(m => m.X.Y, new { @class = "col-sm-d col-sm-2 control-label" })
<div class="col-sm-2">
@Html.TextBoxFor(m => m.X.Y, new { @class = "form-control", @id = "X_Y2"})
</div>
<div class="col-sm-2">
@Html.EnumDropDownListFor(m => m.X.Y, new { @class = "form-control", @id = "Dropdown2" })
</div>
此模式:
<div id="myModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
Multiples
</div>
<div class="modal-body">
Valeur <input style="text-align:right;" type="text" id="Valeur"/><br />
Unité <input style="text-align:right;" type="text" id="Unite1" /><br />
Unité <input style="text-align:right;" type="text" id="Unite2" /><br />
Opérant (+) <input style="text-align:right;" type="text" id="Operand" /><br />
<br />
Valeur <input style="text-align:right;" type="text" id="Valeur2" /><br />
Unité <input style="text-align:right;" type="text" id="Unite3" /><br />
Unité <input style="text-align:right;" type="text" id="Unite4" /><br />
Opérant (+) <input style="text-align:right;" type="text" id="Operand2" /><br />
<br />
Valeur <input style="text-align:right;" type="text" id="Valeur3" /><br />
Unité <input style="text-align:right;" type="text" id="Unite5" /><br />
Unité <input style="text-align:right;" type="text" id="Unite6" /><br />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-warning" data-dismiss="modal">
Annuler
</button>
<button type="button" class="btn btn-success" data-dismiss="modal" id="valueOK">
Valider
</button>
</div>
</div>
</div>
</div>
还有我的脚本:
$(function () {
$("#Dropdown1,#Dropdown2,#Dropdown3,#Dropdown4,#Dropdown5,#Dropdown6,#Dropdown7,#Dropdown8,#Dropdown9,#Dropdown10,#Dropdown11,#Dropdown12,#Dropdown13,#Dropdown14,#Dropdown15,#Dropdown16,#Dropdown17,#Dropdown18,#Dropdown19,#Dropdown20,#Dropdown21,#Dropdown22,#Dropdown23,#Dropdown24,#Dropdown25,#Dropdown26,#Dropdown27,#Dropdown28,#Dropdown27,#Dropdown28,#Dropdown29,#Dropdown30,#Dropdown31,#Dropdown32,#Dropdown33,#Dropdown34,#Dropdown35,#Dropdown36,#Dropdown37").change(function () {
//Recupere la value de la liste
selection = $(this).val();
//Mettre la valeur du choix de liste.
if (selection == 10) {
//Affiche le modal
$('#myModal').modal('show');
}
});
});
var modalValue1 = $('#Valeur')
var modalValue2 = $('#Unite1')
var modalValue3 = $('#Unite2')
var modalOperand = $('#Operand')
var modalValue4 = $('#Valeur2')
var modalValue5 = $('#Unite3')
var modalValue6 = $('#Unite4')
var modalOperand2 = $('#Operand2')
var modalValue7 = $('#Valeur3')
var modalValue8 = $('#Unite5')
var modalValue9 = $('#Unite6')
$('#valueOK').click(function () {
$('#X').val(modalValue1.val() + modalValue2.val() + modalValue3.val() + modalOperand.val() + modalValue4.val() + modalValue5.val() + modalValue6.val() + modalOperand2.val() + modalValue7.val() + modalValue8.val() + modalValue9.val());
})
所以这很好,当我把文本放在我的文本框中,按下按钮后,信息会进入我页面的文本框,这没关系。但如果我试图将其应用于我的其他文本框,我会遇到一个问题,如果我填充模态,它会把这些信息放进页面的每个文本框,但这不是我想要的,例如,我该如何在第一个文本框中填充信息,在第二个文本框填充其他信息?
如果我理解你想要什么,你有很多文本框和下拉列表,如果下拉列表中的任何一个更改为10,你想显示一个对话框,然后填充相关的文本框。
所以,你编码太难了。首先,使用类选择器代替id选择器$("#DropDown1,#DropDown2,….")->$(".MyDropdown")
之后你可以控制你的模式
要查找最近的文本框,可以在jquery中使用壁橱或父命令。
这只是一个解决方案,你可以找到很多其他的解决方案。比如通过数据或咏叹调进行查找。
我希望它对你有用。
编辑
$(".dropdown").click(function(){
var targetTextBox=$(this).closest("div+ input").prev().find('input');
BootstrapDialog.show({
message: function(dialog) {
var $message = $('<div></div>');
var pageToLoad = dialog.getData('pageToLoad');
$message.load(pageToLoad);
return $message;
},
data: {
'pageToLoad': 'remote.html'
},
buttons: [{
id: 'btn-1',
label: 'Click to disable and spin.',
action: function(dialog) {
targetTextbox='load your data';
}
}]
});
});
这是一个示例,但您必须为自己自定义它。并且您必须使用对话框而不是模式
相关文章:
- 使用javascript将两个文本框值相加到表中的另一个文本框中
- 在文本上方标记另一个文本
- 如何通过 JS 将内容从一个表单中的一个文本框复制到另一个表单中的另一个文本框
- 使用Javascript从一个文本区域逐行解析.subsr(0,6)到另一个文本区
- 任何编写文本文件并将其替换为上一个文本文件的方法
- html或java脚本代码在硬盘中创建一个文本文件
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 一个文本框,其中两个选项的值不同
- 在javascript中获取servlet值,并使用ajax将该值分配给一个文本框
- 如何从由“”分隔的字符串中提取最后一个文本|&”;
- 如何使用jquery对具有相同类的文本框的值求和并将其放入另一个文本框中
- 使用 jquery 将行值设置为另一个文本
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 如何将文本插入到几个带有 id 的文本区域中的一个文本区域中
- 如何使用jQuery查找下一个文本区域
- jquery专注于asp.net mvc部分视图中的一个文本框
- 将数组中的数据作为段落添加到一个文本区域
- 当你有很多文本框时,如何从一个模态中只填充一个文本框
- Javascript/Php聊天-输入is'不能在一个文本框中工作
- 当文档准备就绪时,将数据从一个文本框复制到另一个