2017-03-06 80 views
0

我有下面的示例數據:輸入字段,如果選擇改變

books = [ 
{ 
    id: 1, 
    name: Harry Potter, 
    description: test1 
}, 
{ 
    id: 2, 
    name: Forest Gump, 
    description: test2 
} 
] 

JSP

<select onchange="bookLib.changeBook()"> 
    <c:forEach var="book" items="${books }"> 
     <option value="${book.id}"> 
      <c:out value="${book.name}"/> 
     </option> 
    </c:forEach> 
</select> 

<input type="TEXT" id="descr" readonly/> 

當 「選擇」 改變了,我需要在設置$ {} book.description文本輸入用ID「descr」標識。

我需要使用jQuery在函數bookLib.changeBook().js中實現此功能。

回答

0
<select onchange="bookLib.changeBook(this);"> 
    <c:forEach var="book" items="${books }"> 
     <option value="${book.id}" data-description="${book.descripton}"> 
      <c:out value="${book.name}"/> 
     </option> 
    </c:forEach> 
</select> 

<input type="TEXT" id="descr" readonly/> 

function changeBook(select) { 
    $("#descr").val($(select).find("option:selected").attr("data-description")); 
} 

或者,如果你有超過changeBook簽名無法控制:

<select id="books" onchange="bookLib.changeBook()"> 
    <c:forEach var="book" items="${books }"> 
     <option value="${book.id}" data-description="${book.descripton}"> 
      <c:out value="${book.name}"/> 
     </option> 
    </c:forEach> 
</select> 

<input type="TEXT" id="descr" readonly/> 

function changeBook() { 
    $("#descr").val($("#books option:selected").attr("data-description")); 
} 
相關問題