簡體   English   中英

使用jquery選擇選擇選項不起作用

[英]Selecting a select option using jquery not working

檢查這個JSFiddle以查看我的問題。

我從td選擇一個時間,並希望從下拉列表中選擇一個選項。

它在IE8中正常工作並且正常工作。 但不適用於Chrome和IE9。

HTML

<table>
    <tr>
        <td id="time">
            11:20:12
        </td>
    </tr>
</table>

<select id="StartHour" name="DateRangeFromSeconds">
    <option value="00">00</option>
    <option value="01">01</option>
    <option value="02">02</option>
    <option value="03">03</option>
    <option value="04">04</option>
    <option value="05">05</option>
    <option value="06">06</option>
    <option value="07">07</option>
    <option value="08">08</option>
    <option value="09">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>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
    <option value="32">32</option>
    <option value="33">33</option>
    <option value="34">34</option>
    <option value="35">35</option>
    <option value="36">36</option>
    <option value="37">37</option>
    <option value="38">38</option>
    <option value="39">39</option>
    <option value="40">40</option>
    <option value="41">41</option>
    <option value="42">42</option>
    <option value="43">43</option>
    <option value="44">44</option>
    <option value="45">45</option>
    <option value="46">46</option>
    <option value="47">47</option>
    <option value="48">48</option>
    <option value="49">49</option>
    <option value="50">50</option>
    <option value="51">51</option>
    <option value="52">52</option>
    <option value="53">53</option>
    <option value="54">54</option>
    <option value="55">55</option>
    <option value="56">56</option>
    <option value="57">57</option>
    <option value="58">58</option>
    <option value="59">59</option>
</select>

JQuery的

var s=$('#time').html().split(':');
alert(s[0]); // I'm getting the value here. How can I set this value in the drop down list?
$("#StartHour option[value='" +s[0] + "']").attr('selected', 'selected');

當您調用.html()來獲取表格單元格的內容時,您將獲得所有前導空格和尾隨空格以及您感興趣的文本; 另外,你應該使用.text()而不是.html()以防萬一。 所以,只需使用replace刪除空格:

var s = $('#time').text().replace(/\s/g, '').split(':');

演示: http//jsfiddle.net/ambiguous/xmgAu/

這是設置下拉選擇元素的值的正確方法:

var s=$('#time').html().split(':');
alert(s[0]); // here i am getting value .. How can i set this value in drop down list
$("#StartHour").val(s[0]);

使用.html或.text不是問題。 問題是你應該刪除空格並使用$(“#id”)。val(index)來設置值。所以你糾正的代碼如下:

var s = $('#time').html().replace(/\s/g, '').split(':');//white space removed
alert(s[0]); // here i am getting value
$("#StartHour").val(s[0]); //Here i am setting this value in drop down list

這應該工作。我已經在jsfiddle.net測試了這個

$("#StartHour option[selected]").removeAttr("selected");
$("#StartHour option[value="+s[0]+"]").attr('selected', 'selected');

嘗試

$("#StartHour").val(s[0]);

嘗試這個

$("#StartHour").val(parseInt(s[0]));

代替

$("#StartHour option[value='" +s[0] + "']").attr('selected', 'selected');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM