【发布时间】:2018-04-26 20:47:04
【问题描述】:
我正在以 bootstrap 3 模式弹出窗口中的表单生成 Html 选择。我正在尝试获取选定的值并通过 JQuery 将其传递到数据库。
我有其他输入字段和一个使用tinyMCE 的文本区域字段,我使用$('#id').val(); 完全没有任何问题地从中获取值。
我的选择非常简单,在视图源中显示为:
<select id='practitionerID' name='practitionerID' class='form-control'>
<option value="1">Doctor 1</option>
<option value="2">Doctor 2</option>
</select>
我已经尝试了许多不同的方法来显示数据,但我终生无法获得期权价值。
我尝试了以下方法:
$('#practitionerID').prop('selectedIndex'); // give's me -1 no matter the option selected
$('#practitionerID').val(); // returns null
$('#practitionerID').text(); // returns null, dont want the text anyways
$("#practitionerID option:selected").val(); // returns undefined
$("#practitionerID option:selected" ).text(); //returns undefined, still not what i want.
编辑: 所以它尝试了这个,它现在实际上给了我一个价值,但即使我选择了其他东西,它也只会给我下拉列表中的第一个选项。 $('#practitionerID :selected').val();
我能想到的唯一一件事就是把它绊倒是我在模态中加载它的事实?也许由于某种原因它无法读入它来查看该属性?
当我加载现有记录并获得 data.event.practitionerID 时,它的工作原理给了我很好的价值。但是,当我得到它时,我似乎无法设置它。所以这似乎是这个选择的 ID 的问题,但我只是看不到在哪里或如何。
任何帮助将不胜感激!
【问题讨论】:
-
听起来你是在元素存在之前检查。
val()never returnsnullorundefinedwhen selector is a form control and it exists when called.返回字符串(如果选择多个则返回数组) -
@ncardeli 它还不是真正的选定值。当我从下拉列表中选择它时,我试图根据值进行设置。这与那个人不是同一个问题,因为他们正在寻找实际的“选定”参数,而我现在还没有。
-
@charlietfl 我想你可能会在那里做一些事情,我回家后会检查我的代码。
标签: jquery html forms select bootstrap-modal