2013-06-18 28 views
0
啓用動態添加輸入字段

問題1:禁用/的jQuery

下面的代碼應該啓用/由jquery的禁用動態添加輸入字段,但如預期它不工作:

$(document).ready(function() { 
    $('#auto').change(function() { 
     if ($(this).val() == 1) { 
      $('input[id="speed_car"]').prop('disabled', false).css('background', '').val('4') 
     } else { 
      $('input[id="speed_car"]').prop('disabled', true).css('background-color', '#03f').val('') 
     } 
    }); 
}); 

Problem2 :如果我保存該字段並重新加載它的工作頁面,但僅適用於第一個< tr>(其中包含其他輸入字段和選擇項)。

我該如何更改代碼才能正常工作?

下面是其中添加的行代碼的一部分:

var modell = <?php echo $modell; ?>; 
    . 
    . 
    . 
    html += ' <td class="left"><select name="car_modell[' + modell + '][auto]">'; 
    html += '  <option value="1" selected="selected"><?php echo $text_enabled; ?></option>'; 
    html += '  <option value="0"><?php echo $text_disabled; ?></option>'; 
    html += ' </select></td>'; 
    html += ' <td class="left"><input type="text" maxlength="1" name="car_modell[' + modell + '][speed_car]" value="4" size="3" /> </td>'; 
    ecc... 

預先感謝幫助。

+0

只是想知道,輸入id是speed_car唯一嗎?按預期方式是否更改了#auto更改?你能提供一個jsfiddle BTW嗎? –

+0

這是問題之一。它始終是相同的ID。但我不知道如何以另一種方式寫它 – Someone33

+1

所以,簡單的方法是不使用ID,而是使用類。如果需要,您仍然可以應用某些上下文。而改變事件呢,它被解僱了嗎? –

回答

1

您應該使用「on」功能。看看這裏:http://api.jquery.com/on/

jQuery負載上綁定,但是「on」導致它在那個時候評估/綁定。

$("#dataTable tbody tr").on("click", function(event){ 
    alert($(this).text()); 
}); 
+0

已經嘗試過,但沒有工作 – Someone33