2011-09-15 51 views
0

這是我一直玩jQuery的第一週,所以我有很多關於它的問題。jQuery對話框和填寫編輯表格

我使用一個對話框來創建和編輯項目。

我的函數editCustomField()不填充我的字段名稱,就像我認爲它應該,但它確實打開對話框。

我應該使用JavaScript getElementById(「empId」)等,而不是jQuery?我可以使用某種形式的jQuery標籤來包裝我的函數以使其工作嗎?該鏈接是使用jstl和el構建的。

<script type="text/javascript"> 
    function editCustomField(empId, fieldId, name, value){ 
    $("empId").val(empId); 
    $("fieldId").val(fieldId); 
    $("fieldName").val(name); 
    $("fieldValue").val(value); 
    $("#customFieldDialog").dialog("open"); 
    return false; 
    }; 

    $(document).ready(function(){ 
    $("#customFieldDialog").dialog({ 
     resizable: false, 
     modal: true, 
     autoOpen: false, 
     width:315, 
     buttons: { 
     "Save" : function() { 
      $("#customFieldForm").submit(); 
     }, 
     "Cancel" : function() { 
      $(this).dialog("close"); 
      return false; 
     } 
     } 
    }); 

$(".customfield").click(function(e) { 
     $("#customFieldDialog").dialog("open"); 
    }); 
    }); 
</script> 

HTML:

<a href="#" onclick="editCustomField('${employee.id}','${viewCustomField.id}','${viewCustomField.name}','${viewCustomField.value}');"><img src="<c:url value="/images/pencil.png"/>" alt="edit" title="edit" /></a> 

<div id="customFieldDialog" title="Custom Field"> 
    <form id="customFieldForm" action="saveCustomField.action" method="POST"> 
    <input type="hidden" id="empId" name="employeeId" /> 
    <input type="hidden" id="fieldId" name="customFieldId" /> 
    <table> 
     <tr> 
     <td>Field name:</td><td><input id="fieldName" type="text" name="customField.name" /></td> 
     </tr> 
     <tr> 
     <td>Value:</td><td><input id="fieldValue" type="text" name="customField.value" /></td> 
     </tr> 
    </table> 
    </form> 
</div> 
+0

誤解了這個功能......哦,很好 –

回答

1

您需要的ID選擇一個#。

function editCustomField(empId, fieldId, name, value){ 
    $("#empId").val(empId); 
    $("#fieldId").val(fieldId); 
    $("#fieldName").val(name); 
    $("#fieldValue").val(value); 
    $("#customFieldDialog").dialog("open"); 
    return false; 
    }; 
+0

*** facepalm ***魔鬼在細節中。謝謝! – Risu

2

與jQuery,當你被ID參照的元素,你有一個#

在你的情況下,前綴屬性的正確代碼來填充你的領域將是

function editCustomField(empId, fieldId, name, value){ 
    $("#empId").val(empId); 
    $("#fieldId").val(fieldId); 
    $("#fieldName").val(name); 
    $("#fieldValue").val(value); 
    $("#customFieldDialog").dialog("open"); 
    return false; 
    };