【问题标题】:Selecting a select option using jquery not working使用 jquery 选择选择选项不起作用
【发布时间】:2011-10-17 05:48:32
【问题描述】:

检查此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');

【问题讨论】:

    标签: javascript jquery option


    【解决方案1】:

    当您调用.html() 获取表格单元格的内容时,您将获得所有前导和尾随空格以及您感兴趣的文本;此外,您应该使用 .text() 而不是 .html() 以防万一。因此,只需使用 replace 去除空格即可:

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

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

    【讨论】:

    • text() 没有用。但是给定的解决方案有效。谢谢
    • @Null:给定的解决方案使用text() replace
    • ok :) 抱歉..我想只使用text() 而不使用replace 会得到答案。再次感谢
    【解决方案2】:

    这是设置下拉选择元素值的正确方法:

    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]);
    

    【讨论】:

      【解决方案3】:

      使用 .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 测试过这个

      【讨论】:

        【解决方案4】:

        试试

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

            试试这个

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

            而不是

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2020-05-01
              • 2012-04-28
              • 2013-02-18
              • 1970-01-01
              • 2013-08-08
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多