- - - - - -解决了 - - - - - -
感谢您抽出宝贵时间来帮助我。我设法让它现在工作。我认为这个问题是我的疏忽。我必须在我的模态上添加getVal
,就像id="modal_"getVal
一样。它调用了错误的模态,这就是输入框返回空的原因。我很抱歉,我很感激人们所做的帮助。谢谢
我有一个简单的模态,其中包含一个文本框和按钮。
<input type="text" class="form-control" id="textb" val_A="1">
<button type="button" id="but"> submit </button>
我想在按钮点击时获取文本框.val()
和属性val_A
$(document).on('click','#but', function() {
name = $('#textb').attr('value');
val_A = $('#textb').attr('val_A');
alert(name + "-" + val_A);
});
但我得到了name
未定义的结果。
香港专业教育学院也试过$('#textb').val();
,它没有奏效。
请注意,我想要一个模态中的文本框中的值,并且不确定是否有一种不同的方法来获取考虑模态行为的值。
---------- [更新] -----------
单击此按钮时,将显示模态
<button type="button" class="btn" val="1"> show modal </button>
按钮有一个特定的值,val=1
然后激活一个特定的模态。因此,$(#modal_+getVal)
。
$(document).on('click','.btn', function () {
getVal = $(this).attr('val');
$('#modal_+getVal').modal({show:true})
});
这让我想到了上面的问题。在模态出现后,我想在点击时得到文本框的值,模态内的另一个按钮。
但它显示的都是未定义的
关于你的问题,模态和任何其他div之间应该没有任何区别。如果textarea(你的文本框是textarea,不是吗?)不在另一个框架或iframe中,你可以找到带有'普通'jQuery选择器用法的模态。话虽如此,这里有一些可能的解决方案:
如果您的文本框是textarea,请尝试以下操作:
var textbox_value = $('#textb').val();
如果所有这些都不起作用,请尝试确定您是否选择了正确的元素! console.log($('#textbox'))
打印什么?
编辑:
哦,是的。你可能想试试这个:
<div id="foo" data-valA="test"></div>
<script>
$('#foo').data('valA');
</script>
编辑2:
我不能经常把这个链接起来:Why is console.log() considered better than alert()?
$('.btn').on('click', function () {
var modelNumber = $(this).val()
console.log('model number',modelNumber);
$('#modal_'+modelNumber).modal({show:true})
$('#modal_'+modelNumber).on('shown.bs.modal', function (e) {
console.log('modal dialog shown, get the form values')
// try to get input values here
}) });
并将输入类型按钮属性“val”更改为“value”。