2011-03-19 4 views
0

HTML 테이블을 생성하는 PHP 코드가 있습니다. 그 안에는 onChange 이벤트가있는 다른 드롭 다운 메뉴가있는 양식이 있습니다. 자바 스크립트 함수에 테이블 행 인덱스를 전달해야합니다. 이 일을 할 수있는 방법이 있습니까? 그렇다면 예제를 제공해주십시오. 고맙습니다! 단지 HTML을 입력 한 다음 <?for:?> 구문을 사용, 젠드에테이블 행 인덱스를 자바 스크립트 함수에 전달하는 방법

<?php 
echo" 
    <table id='inputTable'> 
    <form id='trade' name='trade' method='post' action=''> 
    <tr id = 'labelRow0' name = 'labelRow0' style='display:table-row'> 
     <td>Spread Type</td> 
     <td>Option/Future</td> 
     <td>Year</td> 
     <td>Month</td> 
     <td>Strike</td> 
     <td>Call/Put</td> 
     <td>Buy/Sell</td> 
     <td>Price</td> 
     <td>Quantity</td> 
     <td>Delta</td> 
     <td>House</td> 
    </tr> 
    <tr id = 'inputRow0' name = 'inputRow0' style='display:table-row'> 
     <td> 
     <select onchange='testChanges(0)' name='spreadType[]' id='spreadType0'> 
     <option value=''> 
     <option value='Spread'>Spread 
     <option value='Fly'>Fly 
     <option value='Straddle'>Straddle 
     <option value='Strangle'>Strangle 
     <option value='Tree'>Tree 
     <option value='Condor'>Condor 
     <option value='Ladder'>Ladder 
     </select> 
     </td> 
     <td> 
     <select name='optionFuture[]' id='optionFuture0'> 
     <option value=''> 
     <option value='Option'>Option 
     <option value='Future'>Future 
     </select> 
     </td> 
     <td> 
     <select name='year[]' id='year0'> 
     <option value=''> 
     <option value='Front'>Front 
     <option value='Short'>Short 
     <option value='Red'>Red 
     <option value='Green'>Green 
     <option value='Blue'>Blue 
     <option value='Gold'>Gold 
     </select> 
     </td> 
     <td> 
     <select name='month[]' id='month0'> 
     <option value=''> 
     <option value='January'>January 
     <option value='February'>February 
     <option value='March'>March 
     <option value='April'>April 
     <option value='May'>May 
     <option value='June'>June 
     <option value='July'>July 
     <option value='August'>August 
     <option value='September'>September 
     <option value='October'>October 
     <option value='November'>November 
     <option value='December'>December 
     </select> 
     </td> 
     <td> 
     <select name='strike[]' id='strike0'> 
     <option value=''> 
     <option value='100'>100 
     <option value='99'>99 
     <option value='98'>98 
     <option value='97'>97 
     <option value='96'>96 
     </select> 
     </td> 
     <td> 
     <select onchange='testChanges()' name='callPut[]' id='callPut0'> 
     <option value=''> 
     <option value='Call'>Call 
     <option value='Put'>Put 
     </select> 
     </td> 
     <td> 
     <select name='buySell[]' id='buySell0'> 
     <option value=''> 
     <option value='Buy'>Buy 
     <option value='Sell'>Sell 
     </select> 
     </td> 
     <td> 
     <input type='text' name='price[]' id='price0' size='9'/> 
     </td> 
     <td> 
     <input type='text' name='quantity[]' id='quantity0' size='9'/> 
     </td> 
     <td> 
     <input type='text' name='delta[]' id='delta0' size='9'/> 
     </td> 
     <td> 
     <select onchange='testChanges()' name='house[]' id='house0'> 
     <option value=''> 
     <option value='001 - First Options'>001 - First Options 
     <option value='020 - Bache'>020 - Bache 
     <option value='033 - FC Stone'>033 - FC Stone 
     <option value='Other'>Other 
     </select> 
     </td> 
    </tr> 
    <tr id = 'otherRow0' name = 'otherRow' style='display:none'> 
     <td><input type='text' name='spreadFormation[]' id='spreadFormation0' size='9'/></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td><input type='text' name='otherHouse[]' id='otherHouse0' size='22'/></td> 
    </tr>"; 

$baseLabel = 'labelRow'; 
$baseInput = 'inputRow'; 
$baseStr = 'otherRow'; 
$baseOptionFuture = 'optionFuture'; 
$baseYear = 'year'; 
$baseMonth = 'month'; 
$baseStrike = 'strike'; 
$baseCallPut = 'callPut'; 
$baseBuySell = 'buySell'; 
$baseSpreadType = 'spreadType'; 
$basePrice = 'price'; 
$baseQuantity = 'quantity'; 
$baseDelta = 'delta'; 
$baseHouse = 'house'; 
$baseSpreadFormation = 'spreadFormation'; 
$baseOtherHouse = 'otherHouse'; 

for ($i = 1; $i < 20; $i++) 
{ 
    $labelId = $baseLabel.$i; 
    $inputRow = $baseInput.$i; 
    $otherId = $baseStr.$i; 
    $optionFutureId = $baseOptionFuture.$i; 
    $yearId = $baseYear.$i; 
    $monthId = $baseMonth.$i; 
    $strikeId = $baseStrike.$i; 
    $callPutId = $baseCallPut.$i; 
    $buySellId = $baseBuySell.$i; 
    $spreadTypeId = $baseSpreadType.$i; 
    $priceId = $basePrice.$i; 
    $quantityId = $baseQuantity.$i; 
    $deltaId = $baseDelta.$i; 
    $houseId = $baseHouse.$i; 
    $spreadFormationId = $baseSpreadFormation.$i; 
    $otherHouseId = $baseOtherHouse.$i; 

    echo" 
    <tr id = $labelId name = $labelId style='display:none'> 
     <td>Spread Type</td> 
     <td>Option/Future</td> 
     <td>Year</td> 
     <td>Month</td> 
     <td>Strike</td> 
     <td>Call/Put</td> 
     <td>Buy/Sell</td> 
     <td>Price</td> 
     <td>Quantity</td> 
     <td>Delta</td> 
     <td>House</td> 
    </tr> 
    <tr id = $inputRow name = $inputRow style='display:none'> 
     <td> 
     <select onchange='testChanges()' name='spreadType[]' id='spreadType0'> 
     <option value=''> 
     <option value='Spread'>Spread 
     <option value='Fly'>Fly 
     <option value='Straddle'>Straddle 
     <option value='Strangle'>Strangle 
     <option value='Tree'>Tree 
     <option value='Condor'>Condor 
     <option value='Ladder'>Ladder 
     </select> 
     </td> 
     <td> 
     <select name='optionFuture[]' id=$optionFutureId> 
     <option value=''> 
     <option value='Option'>Option 
     <option value='Future'>Future 
     </select> 
     </td> 
     <td> 
     <select name='year[]' id=$yearId> 
     <option value=''> 
     <option value='Front'>Front 
     <option value='Short'>Short 
     <option value='Red'>Red 
     <option value='Green'>Green 
     <option value='Blue'>Blue 
     <option value='Gold'>Gold 
     </select> 
     </td> 
     <td> 
     <select name='month[]' id=$monthId> 
     <option value=''> 
     <option value='January'>January 
     <option value='February'>February 
     <option value='March'>March 
     <option value='April'>April 
     <option value='May'>May 
     <option value='June'>June 
     <option value='July'>July 
     <option value='August'>August 
     <option value='September'>September 
     <option value='October'>October 
     <option value='November'>November 
     <option value='December'>December 
     </select> 
     </td> 
     <td> 
     <select name='strike[]' id=$strikeId> 
     <option value=''> 
     <option value='100'>100 
     <option value='99'>99 
     <option value='98'>98 
     <option value='97'>97 
     <option value='96'>96 
     </select> 
     </td> 
     <td> 
     <select onchange='testChanges()' name='callPut[]' id=$callPutId> 
     <option value=''> 
     <option value='Call'>Call 
     <option value='Put'>Put 
     </select> 
     </td> 
     <td> 
     <select name='buySell[]' id=$buySellId> 
     <option value=''> 
     <option value='Buy'>Buy 
     <option value='Sell'>Sell 
     </select> 
     </td> 
     <td> 
     <input type='text' name='price[]' id=$priceId size='9'/> 
     </td> 
     <td> 
     <input type='text' name='quantity[]' id=$quantityId size='9'/> 
     </td> 
     <td> 
     <input type='text' name='delta[]' id=$deltaId size='9'/> 
     </td> 
     <td> 
     <select onchange='testChanges()' name='house[]' id = $houseId> 
     <option value=''> 
     <option value='001 - First Options'>001 - First Options 
     <option value='020 - Bache'>020 - Bache 
     <option value='033 - FC Stone'>033 - FC Stone 
     <option value='Other'>Other 
     </select> 
     </td> 
    </tr> 
    <tr id = $otherId name = $otherId style='display:none'> 
     <td><input type='text' name='spreadFormation[]' id=$spreadFormationId size='9'/></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td><input type='text' name='otherHouse[]' id=$otherHouseId size='22'/></td> 
    </tr> 
    "; 
} 
echo "</table> 
    <input id='submitButton' type='submit' name='submit' type='submit' value='submit' /> 
    </form>"; 
?> 
+0

I는 소자의 행 번호와 ID를 넣어, 그래서 쉽게 I가 있던 행 결정할 수있다. –

+0

그런 다음 어떻게 함수에 전달합니까? –

답변

1

임 사용, 그래서 이것은 내가 일반적으로, HTML을 메아리의 isntead 그것을 할 방법은 다음과 같습니다

내 PHP 코드는 아래와 같습니다. 다음과 같이.

<table id='inputTable'> 
    <form id='trade' name='trade' method='post' action=''> 
    <tr id = 'labelRow0' name = 'labelRow0' style='display:table-row'> 
     <td>Spread Type</td> 
     <td>Option/Future</td> 
     <td>Year</td> 
     <td>Month</td> 
     <td>Strike</td> 
     <td>Call/Put</td> 
     <td>Buy/Sell</td> 
     <td>Price</td> 
     <td>Quantity</td> 
     <td>Delta</td> 
     <td>House</td> 
    </tr> 
    <tr id = 'inputRow0' name = 'inputRow0' style='display:table-row'> 
     <td> 
     <select onchange='testChanges()' name='spreadType[]' id='spreadType0'> 
     <option value=''> 
     <option value='Spread'>Spread 
     <option value='Fly'>Fly 
     <option value='Straddle'>Straddle 
     <option value='Strangle'>Strangle 
     <option value='Tree'>Tree 
     <option value='Condor'>Condor 
     <option value='Ladder'>Ladder 
     </select> 
     </td> 
     <td> 
     <select name='optionFuture[]' id='optionFuture0'> 
     <option value=''> 
     <option value='Option'>Option 
     <option value='Future'>Future 
     </select> 
     </td> 
     <td> 
     <select name='year[]' id='year0'> 
     <option value=''> 
     <option value='Front'>Front 
     <option value='Short'>Short 
     <option value='Red'>Red 
     <option value='Green'>Green 
     <option value='Blue'>Blue 
     <option value='Gold'>Gold 
     </select> 
     </td> 
     <td> 
     <select name='month[]' id='month0'> 
     <option value=''> 
     <option value='January'>January 
     <option value='February'>February 
     <option value='March'>March 
     <option value='April'>April 
     <option value='May'>May 
     <option value='June'>June 
     <option value='July'>July 
     <option value='August'>August 
     <option value='September'>September 
     <option value='October'>October 
     <option value='November'>November 
     <option value='December'>December 
     </select> 
     </td> 
     <td> 
     <select name='strike[]' id='strike0'> 
     <option value=''> 
     <option value='100'>100 
     <option value='99'>99 
     <option value='98'>98 
     <option value='97'>97 
     <option value='96'>96 
     </select> 
     </td> 
     <td> 
     <select onchange='testChanges()' name='callPut[]' id='callPut0'> 
     <option value=''> 
     <option value='Call'>Call 
     <option value='Put'>Put 
     </select> 
     </td> 
     <td> 
     <select name='buySell[]' id='buySell0'> 
     <option value=''> 
     <option value='Buy'>Buy 
     <option value='Sell'>Sell 
     </select> 
     </td> 
     <td> 
     <input type='text' name='price[]' id='price0' size='9'/> 
     </td> 
     <td> 
     <input type='text' name='quantity[]' id='quantity0' size='9'/> 
     </td> 
     <td> 
     <input type='text' name='delta[]' id='delta0' size='9'/> 
     </td> 
     <td> 
     <select onchange='testChanges()' name='house[]' id='house0'> 
     <option value=''> 
     <option value='001 - First Options'>001 - First Options 
     <option value='020 - Bache'>020 - Bache 
     <option value='033 - FC Stone'>033 - FC Stone 
     <option value='Other'>Other 
     </select> 
     </td> 
    </tr> 
    <tr id = 'otherRow0' name = 'otherRow' style='display:none'> 
     <td><input type='text' name='spreadFormation[]' id='spreadFormation0' size='9'/></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td><input type='text' name='otherHouse[]' id='otherHouse0' size='22'/></td> 
    </tr>"; 
<?php 
$baseLabel = 'labelRow'; 
$baseInput = 'inputRow'; 
$baseStr = 'otherRow'; 
$baseOptionFuture = 'optionFuture'; 
$baseYear = 'year'; 
$baseMonth = 'month'; 
$baseStrike = 'strike'; 
$baseCallPut = 'callPut'; 
$baseBuySell = 'buySell'; 
$baseSpreadType = 'spreadType'; 
$basePrice = 'price'; 
$baseQuantity = 'quantity'; 
$baseDelta = 'delta'; 
$baseHouse = 'house'; 
$baseSpreadFormation = 'spreadFormation'; 
$baseOtherHouse = 'otherHouse'; 
?> 

<?php for ($i = 1; $i < 20; $i++) :?> 
<?php 
    $labelId = $baseLabel.$i; 
    $inputRow = $baseInput.$i; 
    $otherId = $baseStr.$i; 
    $optionFutureId = $baseOptionFuture.$i; 
    $yearId = $baseYear.$i; 
    $monthId = $baseMonth.$i; 
    $strikeId = $baseStrike.$i; 
    $callPutId = $baseCallPut.$i; 
    $buySellId = $baseBuySell.$i; 
    $spreadTypeId = $baseSpreadType.$i; 
    $priceId = $basePrice.$i; 
    $quantityId = $baseQuantity.$i; 
    $deltaId = $baseDelta.$i; 
    $houseId = $baseHouse.$i; 
    $spreadFormationId = $baseSpreadFormation.$i; 
    $otherHouseId = $baseOtherHouse.$i; 
?> 

    <tr id = <?= $labelId ?> name = <?= $labelId ?>style='display:none'> 
     <td>Spread Type</td> 
     <td>Option/Future</td> 
     <td>Year</td> 
     <td>Month</td> 
     <td>Strike</td> 
     <td>Call/Put</td> 
     <td>Buy/Sell</td> 
     <td>Price</td> 
     <td>Quantity</td> 
     <td>Delta</td> 
     <td>House</td> 
    </tr> 
    <tr id = <?= $inputRow ?> name = <?= $inputRow ?>style='display:none'> 
     <td> 
     <select onchange='testChanges()' name='spreadType[]' id='spreadType0'> 
     <option value=''> 
     <option value='Spread'>Spread 
     <option value='Fly'>Fly 
     <option value='Straddle'>Straddle 
     <option value='Strangle'>Strangle 
     <option value='Tree'>Tree 
     <option value='Condor'>Condor 
     <option value='Ladder'>Ladder 
     </select> 
     </td> 
     <td> 
     <select name='optionFuture[]' id=<?= $optionFutureId ?>> 
     <option value=''> 
     <option value='Option'>Option 
     <option value='Future'>Future 
     </select> 
     </td> 
     <td> 
     <select name='year[]' id=<?= $yearId ?>> 
     <option value=''> 
     <option value='Front'>Front 
     <option value='Short'>Short 
     <option value='Red'>Red 
     <option value='Green'>Green 
     <option value='Blue'>Blue 
     <option value='Gold'>Gold 
     </select> 
     </td> 
     <td> 
     <select name='month[]' id=<?= $monthId ?>> 
     <option value=''> 
     <option value='January'>January 
     <option value='February'>February 
     <option value='March'>March 
     <option value='April'>April 
     <option value='May'>May 
     <option value='June'>June 
     <option value='July'>July 
     <option value='August'>August 
     <option value='September'>September 
     <option value='October'>October 
     <option value='November'>November 
     <option value='December'>December 
     </select> 
     </td> 
     <td> 
     <select name='strike[]' id=<?= $strikeId ?>> 
     <option value=''> 
     <option value='100'>100 
     <option value='99'>99 
     <option value='98'>98 
     <option value='97'>97 
     <option value='96'>96 
     </select> 
     </td> 
     <td> 
     <select onchange='testChanges(<?= $i ?>)' name='callPut[]' id= <?= $callPutId ?>> 
     <option value=''> 
     <option value='Call'>Call 
     <option value='Put'>Put 
     </select> 
     </td> 
     <td> 
     <select name='buySell[]' id=<?= $buySellId ?>> 
     <option value=''> 
     <option value='Buy'>Buy 
     <option value='Sell'>Sell 
     </select> 
     </td> 
     <td> 
     <input type='text' name='price[]' id=<?= $priceId ?> size='9'/> 
     </td> 
     <td> 
     <input type='text' name='quantity[]' id= <?= $quantityId ?> size='9'/> 
     </td> 
     <td> 
     <input type='text' name='delta[]' id= <?= $deltaId ?> size='9'/> 
     </td> 
     <td> 
     <select onchange='testChanges(<?= $i ?>)' name='house[]' id = <?= $houseId ?>> 
     <option value=''> 
     <option value='001 - First Options'>001 - First Options 
     <option value='020 - Bache'>020 - Bache 
     <option value='033 - FC Stone'>033 - FC Stone 
     <option value='Other'>Other 
     </select> 
     </td> 
    </tr> 
    <tr id = $otherId name = $otherId style='display:none'> 
     <td><input type='text' name='spreadFormation[]' id= <?= $spreadFormationId ?> size='9'/></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td><input type='text' name='otherHouse[]' id= <?= $otherHouseId ?> size='22'/></td> 
    </tr> 


<? endfor; ?> 



</table> 
<input id='submitButton' type='submit' name='submit' type='submit' value='submit' /> 
</form> 
+0

예. 정말로 번호가 필요합니다. 내 이름은 배열에 있습니다. –

+0

케이 내가 편집 한 20 개의 행이 그 모양에서? – Bodman

+0

예 20 행이 있습니다. –

1

기타 대답 계속 : 속기를 사용하여 코드를 지 웁니다.

나서 루프 번호 <?= $i ?> 표시 행 번호를 다른 shorthands

Remember <?= is the same as echo 

무리 주입 IF/ELSE

<? if(true): ?> 

<? else: ?> 

<? endif; ?> 

<?php while (expr):?> 
    statement 
    ... 
<?php endwhile;?> 

WHILE

<?php for($i = 5; $i < 20; $i++):?> 


    <b> Number : <?= $i ?> ?> 


<?php endfor; ?> 

</body> 

관련 문제