2013-02-11 283 views
0

我正在使用jQuery和jQuery的手機,基本上我試圖創建一個編輯按鈕。我有一個用戶信息默認情況下全部設置爲禁用的表單。我想通過單擊編輯按鈕啓用表單,然後在單擊保存按鈕時禁用表單。這裏是形式:啓用和禁用按鈕點擊jquery

<div data-role="fieldcontain"> 
      <label for="first_name">First Name:</label> 
      <input type="text" name="first_name" id="first_name" value="" placeholder="First Name" disabled /> 
     </div> 

     <div data-role="fieldcontain"> 
      <label for="last_name">Last Name:</label> 
      <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name" disabled /> 
     </div> 

     <div data-role="fieldcontain"> 
      <label for="user_name">User Name:</label> 
      <input type="text" name="user_name" id="user_name" value="" placeholder="User Name" disabled /> 
     </div> 

     <div data-role="fieldcontain"> 
      <label for="password">Password:</label> 
      <input type="text" name="password" id="password" value="" placeholder="Password" disabled /> 
     </div> 

     <div data-role="fieldcontain"> 
      <label for="email">Email Address:</label> 
      <input type="text" name="email" id="email" value="" placeholder="Email Address" disabled="disabled" /> 
     </div> 

這裏是我的按鈕:

<button data-inline="true" id="edit">Edit</button> 
<button data-inline="true">Save</button> 

,這裏是jQuery的我一直在玩:

$(document).ready(function(){ 
    $('#input:edit').click(function)(){ 
     $('input:email').attr("disabled", false); 
    } 
}); 

有一件事情我已經注意到了,這可能是問題的一部分,即使我將文本輸入的代碼從禁用改爲啓用,即使在刷新頁面後,它們仍然保持禁用狀態,並且我必須返回到我的主頁,刷新,然後導航給用戶i nfo頁面使它們變爲啓用狀態。所以,如果頁面更新正確,可能會有一些我嘗試過的東西是正確的。任何幫助讚賞。

+0

一切我讀看起來就像這兩個答案,但它不工作。我很確定現在它是我提到的有關頁面看起來不會更新的問題。我是否需要強制頁面以某種方式刷新? – 2013-02-11 17:37:04

回答

0

這應該工作:

$(document).ready(function(){ 
    $('#input:edit').click(function)(){ 
     $('input:email').attr("disabled", ""); 
    } 
}); 
0

嘗試

$(document).ready(function(){ 
$('#edit').click(function)(){ 
    $('#email').attr("disabled", false); 
} 
}); 
0

您應該使用$('input:email').textinput('enable');

jQuery Mobile textinput methods

+0

仍然無法正常工作,您認爲我需要調用updatelayout還是什麼? – 2013-02-11 18:13:41

+0

我們應該使用pageinit事件而不是doc.ready。請檢查jsfiddle。 [http://jsfiddle.net/rnavaneethan/x9u6X/1/] – Ravindran 2013-02-12 01:45:07

0

好了,想通了。 改變的jQuery代碼:

function edit() { 
    alert("edit"); 
    $('#first_name').prop('disabled', false); 
    $('#last_name').prop('disabled', false); 
    $('#user_name').prop('disabled', false); 
    $('#password').prop('disabled', false); 
    $('#email').prop('disabled', false); 
    location.reload(); 
} 

和按鈕代碼:

<button data-inline="true" id="edit" onclick="edit()">Edit</button> 
<button data-inline="true" id="save" onclick="save()">Save</button>