2011-06-09 74 views
1

在我的頁面上,我有很多形式,在巫婆字段ID基於數據庫ID生成。像這樣:帶有生成ID的表單字段的JQuery/Javascript設置值

  <input type="hidden" name="id" value="<?php echo (isset($content))?$content->getId():''?>" /> 
      <input type="hidden" id="x<?php echo $content->getId()?>"/> 
      <input type="hidden" id="y<?php echo $content->getId()?>"/> 
      <input type="hidden" id="x2<?php echo $content->getId()?>"/> 
      <input type="hidden" id="y2<?php echo $content->getId()?>"/> 

這給了我所有形式的唯一ID。 現在我有jQuery框架JavaScript函數設置指定字段的谷是不工作:

  $(function(){ 
       $('#jcrop_target_id<?php echo $content->getId()?>').Jcrop({ 
        onSelect: updateCoords 
       }); 
      }); 

      function updateCoords(c) 
      { 
       $('#x<?php echo $content->getId()?>').val(c.x); 
       $('#y<?php echo $content->getId()?>').val(c.y); 
       $('#x2<?php echo $content->getId()?>').val(c.x2); 
       $('#y2<?php echo $content->getId()?>').val(c.y2); 
      }; 

值C *都OK,但很明顯#x<?php echo $content->getId()?>不起作用。 做什麼是正確的方法? 此致敬禮。

回答

0

嘗試混用PHP和JavaScript可以是相當困難的。原因是它們不是同時處理,或者以相同的方式處理。首先在服務器上處理PHP,並將該進程的結果發送到瀏覽器。 然後處理任何javascript。

此外,我不認爲JavaScript內的php標籤實際上會被處理,但我不是100%確定的。

有一件事,你可以做(但通常看起來很醜)是使用PHP來實際創建您的JavaScript。例如:

echo '<script type="text/javascript">'; 
echo 'function updateCoords(c) {'; 
echo ' $(\'#x' . $content->getId() . '\').val(c.x);'; 
... 
echo '}'; 
echo '</script>'; 

就像我說的,它看起來很醜陋,所以我真的不推薦它,但它實際上應該工作就像你想要的。

+0

工作!由於它全部生成,我只需要添加 $(function(){('#jcrop_target_id <?php echo $ content-> getId()?>')。Jcrop({on_lect :updateCoords <?php echo $ content-> getId()?> }); }); 和 echo'function updateCoords'。$ content-> getId()。'(c){'; – 2011-06-09 07:03:47

0

我也一直設置onChange事件。這有幫助嗎?

$('#jcrop_target_id<?php echo $content->getId()?>').Jcrop({ 
    onSelect: updateCoords, 
    onChange: updateCoords 
}); 
+0

這沒有幫助。當我刪除額外的ID時,值x,y,x2,y2設置正確,但僅限於第一種形式,因爲所有ID都是相同的:( – 2011-06-09 06:32:25

+0

等待頁面上有多少這樣的其他表單?是否可以包含整個頁面? – natedavisolds 2011-06-09 12:44:51