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