jquery
2016-11-16 51 views 0 likes 
0

我有我的HTML頁面:的Html與jQuery函數找到

function Aggiorna(number){ 
 
    
 
    var myVar = $("#number").find('input[name=DTMMAA]').val(); 
 
    alert('Importo: '+myVar); 
 
}
<?php $number = 0; ?> 
 
<tr id='<?php echo $number++; ?>'> 
 
    <td><input type="text" style="width: 70px; text-align: right" name="IMLORD" id="IMLORD" class="decimal-2-places" aria-describedby="basic-addon1" placeholder=",00" maxlength="6"></td> 
 
            <td><input type="text" style="width: 70px;" name="DTMMAA" id="DTMMAA" class="dtmmaa" data-date-format="mm/yyyy" aria-describedby="basic-addon1" placeholder="MM/AAAA" maxlength="6"></td> 
 
            
 
             
 
<td><div align="left"><button type="button" value="Aggiorna" onclick="Aggiorna('<?php echo $number; ?>')" 
 
               class="btn btn-primary" style="float: left;" aria-label="Left Align"> 
 
               <span class="glyphicon glyphicon-send" style="color:yellow" aria-hidden="true"></span> Registra 
 
               </button></div> 
 
            </td>                

我在我的表有更多的記錄,我想,當我使用的募集IMLORD和DTMMAA的價值按鈕(Aggiorna),但我的JavaScript不工作(alert('Importo: '+myVar);)。你可以幫幫我嗎?由於

+0

爲什麼找'輸入[名稱= DTMMAA]'當ID爲'DTMMAA''''''('#DTMMAA')',除非你有多個元素具有相同的id,然後它是無效的HTML – GillesC

+0

你的代碼片斷失敗,錯誤:{ 「message」:「Uncaught SyntaxError :意外的輸入結束「, 「filename」:「http://stacksnippets.net/js」, 「lineno」:26, 「colno」:27 } – randominstanceOfLivingThing

+0

很多錯誤代碼中。我建議你檢查一下你的控制檯窗口是否有jquery錯誤,並且你的'input'標籤沒有關閉'/' –

回答

0

我修改你的代碼了一下,我覺得現在的工作 一定要有表並關閉TR 它能夠更好地在元素 例如ID號之前字母。

<?php $number = 0; ?> 
<tr id='a<?php echo $number++; ?>'> 

onclick="Aggiorna('a<?php echo $number; ?>') 

工作演示

function Aggiorna(number){ 
    var mytr = $("#"+number).find("input.dtmmaa").val(); 
    console.log(number); 

    console.log(mytr); 
    alert('Importo: '+mytr); 
} 

HTML

<table> 
<tr id='a0'> 
    <td> 
    <input type="text" style="width: 70px; text-align: right" name="IMLORD" id="IMLORD" class="decimal-2-places" aria-describedby="basic-addon1" placeholder=",00" maxlength="6"> 
    </td> 
            <td> 
             <input type="text" style="width: 70px;" name="DTMMAA" id="DTMMAA" class="dtmmaa" data-date-format="mm/yyyy" aria-describedby="basic-addon1" placeholder="MM/AAAA" maxlength="6"> 
    </td> 


<td> 
    <div align="left"><button type="button" value="Aggiorna" onclick="Aggiorna('a0')" 
               class="btn btn-primary" style="float: left;" aria-label="Left Align"> 
               <span class="glyphicon glyphicon-send" style="color:yellow" aria-hidden="true"></span> Registra 
               </button></div> 
    </td>  </tr> 
</table> 

上codepen.io

http://codepen.io/Joxo/pen/XNjPEM

0

工作你忘了<table>標籤BEF礦石<tr>,這可能就是ID沒有發現

function Aggiorna(number) { 
 

 
    var myVar = $("#number").find('input[name=DTMMAA]').val(); 
 
    alert('Importo: ' + myVar); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<?php $number=0 ; ?> 
 
<table> 
 
    <tr id='number'> 
 
    <td> 
 
     <input type="text" style="width: 70px; text-align: right" name="IMLORD" id="IMLORD" class="decimal-2-places" aria-describedby="basic-addon1" placeholder=",00" maxlength="6"> 
 
    </td> 
 
    <td> 
 
     <input type="text" style="width: 70px;" name="DTMMAA" id="DTMMAA" class="dtmmaa" data-date-format="mm/yyyy" aria-describedby="basic-addon1" placeholder="MM/AAAA" maxlength="6"> 
 
    </td> 
 

 

 
    <td> 
 
     <div align="left"> 
 
     <button type="button" value="Aggiorna" onclick="Aggiorna('<?php echo $number; ?>')" class="btn btn-primary" style="float: left;" aria-label="Left Align"> 
 
      <span class="glyphicon glyphicon-send" style="color:yellow" aria-hidden="true"></span> Registra 
 
     </button> 
 
     </div> 
 
    </td>

0

的問題是,你不使用你Aggiorna函數內部number說法。
您只需選擇一個元素,其文字編號爲number#number正在選擇一個元素,並且id="number")。你可能意思是$("#"+number)

由於您正在對行ID進行編號,因此我假設您有多行,並且該按鈕需要來自同一行的值。

如果您只是使用.closest(selector)方法獲取按鈕的行,然後在該行內找到您的'input[name=DTMMAA]',則可以刪除所有行號處理。

如果您使用.on(...)方法綁定處理程序,則還可以從HTML中刪除JavaScript函數調用。

我在您的表格行中添加了row類,並在您的按鈕中添加了aggiorna類。我也刪除了你的ID,因爲多個相同的ID是無效的HTML。如果你想在CSS中引用它們,你將不得不使用類。

$(document).on("click", ".aggiorna", function(e) { 
 
    var myVar = $(this).closest(".row").find('input[name=DTMMAA]').val(); 
 
    console.log('Importo: '+myVar); 
 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
 
<script src="//code.jquery.com/jquery-2.2.4.min.js" type="text/javascript"></script> 
 
<table> 
 
    <tr class="row"> 
 
     <td><input type="text" style="width: 70px; text-align: right" name="IMLORD" class="decimal-2-places" aria-describedby="basic-addon1" placeholder=",00" maxlength="6"></td> 
 
     <td><input type="text" style="width: 70px;" name="DTMMAA" class="dtmmaa" data-date-format="mm/yyyy" aria-describedby="basic-addon1" placeholder="MM/AAAA" maxlength="6"></td> 
 
     <td> 
 
      <div align="left"> 
 
       <button type="button" value="Aggiorna" class="btn btn-primary aggiorna" style="float: left;" aria-label="Left Align"> 
 
        <span class="glyphicon glyphicon-send" style="color:yellow" aria-hidden="true"></span> Registra 
 
       </button> 
 
      </div> 
 
     </td>                 
 
    <tr> 
 
    <tr class="row"> 
 
     <td><input type="text" style="width: 70px; text-align: right" name="IMLORD" class="decimal-2-places" aria-describedby="basic-addon1" placeholder=",00" maxlength="6"></td> 
 
     <td><input type="text" style="width: 70px;" name="DTMMAA" class="dtmmaa" data-date-format="mm/yyyy" aria-describedby="basic-addon1" placeholder="MM/AAAA" maxlength="6"></td> 
 
     <td> 
 
      <div align="left"> 
 
       <button type="button" value="Aggiorna" class="btn btn-primary aggiorna" style="float: left;" aria-label="Left Align"> 
 
        <span class="glyphicon glyphicon-send" style="color:yellow" aria-hidden="true"></span> Registra 
 
       </button> 
 
      </div> 
 
     </td>                 
 
    <tr> 
 
</table>

如果您在頁面加載後裝訂處理程序,你可以只使用

$(".aggiorna").on("click", function(e) { 
相關問題