2013-04-15 52 views
0

這是工作示例。Jquery on Ctrl粘貼上面輸入點擊的輸入值

<tr> 
    <td><input type="text" name="date_day1" id="date_day1" value=" size="1"></td> 
</tr> 
<tr> 
    <td><input type="text" name="date_day2" id="date_day2" value=" size="1"> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#date_day2").on('click', function(e) { 
     var name1 = $('#date_day1').val(); 
     if(e.ctrlKey) $("#date_day2").val(name1); 
    }); 
    }); 
    </script> 
</td> 
</tr> 
<tr> 
    <td><input type="text" name="date_day3" id="date_day3" value=" size="1"></td> 
</tr> 

我的意思是,如果我進入date_day1東西然後按住Ctrl鍵並單擊date_day2,然後在date_day1「複製 - 粘貼」到date_day2值。

爲了獲得所有其他輸入單元格的這種行爲,我必須爲每個輸入單元格寫入javascript。

要爲所有輸入單元格只使用一個javascript,我嘗試編寫代碼,但它不起作用。

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#input").on('click', function(e) { 
    var name1 = $(this).closest('tr').prev().find('td:eq('+$(this).closest('td').index()+')').find('input').val(); 
    if(e.ctrlKey) $("#input").val(name1); 
    }); 
}); 
</script> 

以$( 「#輸入」)。在( '點擊',功能(E){我的意思是,如果我在任何單元格中輸入

單擊使用var名1 = ....設置/定義變量值從最接近上述輸入單元

隨着如果(e.ctrlKey)$(「#輸入」)VAL(NAME1);我的意思是如果按中ctrlKey,然後電流輸入單元值是NAME1

什麼代碼有誤嗎?

回答

0

這不是#input而是input和事件裏面,你應該使用$(this)

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("input").on('click', function(e) { 
     var name1 = $(this).closest('tr').prev().find('td:eq('+$(this).closest('td').index()+')').find('input').val(); 

     if(e.ctrlKey) $(this).val(name1); 
    }); 
    }); 
</script> 
0

我想,您正在使用錯誤的選擇:

$('#input') 

這一個代表與屬性id = input元素。你需要的是:

$('input') 

它代表與tagname = input元素。 此外,與賦值線應該改變,太:

$(this).val(name1);