0

私はこれを持っています:

<?php $i=0;?>
<?php foreach($x as $y): ?>
<input type="hidden" id="theid<?php echo $i;?>" value="<?php echo $someVariable;?>"/>
<?php $i = $i + 1; ?>
<?php endforeach; ?>

次のように、各「theid」の値を取得する必要があります。

<script type="text/javascript">
function somefunction(element, optionTitle) {
var num = document.getElementById('theid').value;
...
</script>

「theid」に $i が追加されているという事実を考慮して、どうすればそれを行うことができますか? ありがとう。

4

3 に答える 3

1

複数の入力フィールドがあり、複数に対して同じアクションを実行したい場合は、getElementsByClassName代わりにgetElementById次を使用できます。

PHP

<input type="hidden" class="theclassname" id="theid<?php echo $i;?>" value="<?php echo $someVariable;?>"/>

JS:

<script type="text/javascript">
    function somefunction(element, optionTitle) {
        var myEles = document.getElementsByClassName('theclassname');
        // loop over myEles and act on each one
        for (var i=0; i < myEles.length; i++) {
            alert("Input with id: " + myEles[i].id + " has value: " + myEles[i].value);
        }
    }
</script>
于 2013-03-26T20:38:49.310 に答える
0

jQuery の使用をお勧めします。jQuery セレクターはワイルドカードをサポートしています。

$('input[id^=theid]')

このトピックの詳細については、 http://api.jquery.com/category/selectors/を参照してください。

于 2013-03-26T20:41:39.123 に答える
0

jQuery を使用している場合は、次のように簡単になります。

$('input[id^="theid"]').each(function () {
  console.log($(this).val()); //value of each theid
});

ここにjsBinがあります。

于 2013-03-26T20:46:35.633 に答える