jquery 使用来自自动化结果的所选选项数据填充下拉选择列表

pxq42qpu  于 5个月前  发布在  jQuery
关注(0)|答案(1)|浏览(83)

我有一个Bootstrap模式,其中包含一个表单。其中一个输入是一个可选的选择列表,见下文。表单是从Ajax调用填充的,并将返回的数据加载到表单输入中,以备编辑。
我的问题是“FromTimeH”输入选择下拉菜单没有填充返回的数据。
下拉选择列表:

<select name="FromTimeH" id="EditFromTimeH" class="timetext" required >
<option selected></option>
<option value="00">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select>

字符串
下面是一个快照的aplog返回的代码:

$('#EditFromTimeH').val(result[8]);
var FromHours = result[8];
console.log("FROM HOURS", FromHours); // this displays the expected result, example "03". 24 hors format.


如何用result[8]的结果填充选择列表?

brjng4g3

brjng4g31#

这是因为当你设置<select>元素的值时,它会选择value属性匹配的<option>。在你的例子中,result[8]给你的是字符串"03",而在你的选项中没有匹配的元素值为03
您可以:
1.将字符串“03”转换为一个数字,这有效地去除了开始时填充的0。将其传递给.val()方法。您可以执行parseInt(results[8])+results[8]来实现这一点。
1.过滤所有<option>元素并选择其内部HTML与字符串“03”匹配的元素。我不推荐此方法,因为<option>的内部HTML不一定要与其值匹配。

相关问题