启用输入文本框然后关注它 - jQuery Mobile

时间:2012-02-28 12:14:08

标签: javascript jquery jquery-mobile

我有一个最初禁用的输入文本框。

<input type="text" name="count" id="count" value="0" disabled="true" data-theme="b" />

当我选中一个单选按钮时,我想启用并聚焦文本框,但是当我单击单选按钮时,它会启用文本框并聚焦其他文本框。我认为它不起作用,因为文本框最初被禁用,你无法聚焦禁用的输入。

$(":input[@name='radio']").live('change', function() { 
  $(":input[@name='count']").removeAttr("disabled").focus();
});

如何启用文本框然后将其对焦?

4 个答案:

答案 0 :(得分:3)

看起来选择器出了问题...虽然文本输入框已启用,但我没有集中注意力,而我尝试了:

$(":input[@name='count']").removeAttr("disabled").focus();

但是当我尝试这个时,它起作用了:

$("#count").removeAttr("disabled").focus();

我无法解释为什么会发生这种情况......


修改 它与选择器有关,因为它也适用:

$("input[name='count']").removeAttr("disabled").focus();

但是我仍然无法理解为什么使用第一个选择器,文本框被启用,但没有聚焦......

答案 1 :(得分:1)

尝试以下代码

$('#count').textinput('enable').focus();

答案 2 :(得分:0)

它对我来说很好

http://jsfiddle.net/kunalvashist/LFXd2/

答案 3 :(得分:0)

你必须在pageshow上进行。

  $("#mainPage").on("pageshow", function (e) {
    $('#searchField').focus();
});

<body class="ui-mobile-viewport ui-overlay-c">
    <div data-role="page" data-add-back-btn="true" id="mainPage">
        <div data-role="header" data-theme='b'>
           <input type="text" id="searchField" placeholder="Search" />
        </div>
    </div>
</body