使用jquery从模态中获取值

时间:2014-07-09 12:17:50

标签: jquery twitter-bootstrap bootstrap-modal

-----------的解决 -----------

感谢您抽出宝贵时间帮助我。我设法让它现在工作。我认为这个问题是我的疏忽。我必须在我的模态上添加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})
});

然后我将问题带到上面。在模态出现后,我想在点击时得到文本框的值,模态内的另一个按钮。

但所有显示的内容都是未定义

2 个答案:

答案 0 :(得分:0)

关于你的问题,模态和任何其他div之间不应该有任何区别。如果textarea(您的文本框是文本区域,不是吗?)不在另一个框架或iframe中,您可以找到正常的模式&#39; 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()?

答案 1 :(得分:0)

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

并更改输入类型按钮属性&#34; val&#34;到&#34;价值&#34;。