使用jquery从模态中获取值

whhtz7ly  于 2022-11-03  发布在  jQuery
关注(0)|答案(2)|浏览(273)

已解决 *-
谢谢你花时间来帮助我。我现在设法使它工作。我想问题是我的疏忽。我必须添加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})
});

这就引出了我上面的问题。在模态出现后,我想在单击模态中的另一个按钮时获得文本框的值。
但它所显示的都是未定义

vsikbqxv

vsikbqxv1#

就你的问题而言,modal和其他div应该没有任何区别。如果textarea(你的文本框是textarea,不是吗?)不在另一个frame或iframe中,你可以找到使用“正常”jQuery选择器的modal。也就是说,这里有一些可能的解决方案:
如果您的文本框是文本区域,请尝试以下操作:

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()?

qxgroojn

qxgroojn2#

$('.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
   }) });

并将您的输入类型按钮属性“瓦尔”更改为“value”。

相关问题