如何将ID传递给JavaScript函数

时间:2012-01-14 23:57:24

标签: javascript jquery

在HTML中,我有:

<td>
    <span id="change_naco"></span>
    <span id="naco">Food</span>
</td>            
<td>
    <span id="change_naco"></span>
    <span id="naco">apples</span>
</td>

这些行来自MySQL查询。我需要在函数中加载它们:

<script type="text/javascript">
    EditInPlace.defaults['save_url'] = 'php/save.php?id=150';
    $('naco').editInPlace({
        form_type: 'select',
        select_options: {
            '1':    'food',
            '2':    'apples',
            '3':    'oranges',
            '4':    'beer'
        },
        external_control: 'change_naco'
    });
</script>

我知道我必须以不同方式调用我的ID,所以我可以通过PHP添加一个数字来做到这一点,例如,change_naco1, change_naco2, change_naco3naco1, naco2, naco3,但我是否将这些ID名称传递给功能

用于编辑(下拉菜单)。它适用于一个ID,但是当我从查询中加载更多行时,它只适用于第一个。

3 个答案:

答案 0 :(得分:2)

听起来您想要将editInPlace调用添加到DOM节点集合中。如果是这种情况,那么类比ID更合适,因为许多DOM元素可以共享同一个类。例如,

HTML:

    <td>
        <span id="change_naco1"></span>
        <span class="naco">Food</span>
    </td>
    <td>
        <span id="change_naco2"></span>
        <span class="naco">apples</span>
    </td>

JavaScript的:

请注意使用.naco代替naco。这个表单是一个类选择器。

$('.naco').editInPlace({
    form_type: 'select',
    select_options: {
        '1':    'food',
        '2':    'apples',
        '3':    'oranges',
        '4':    'beer'
    },
    external_control: 'change_naco'
});

答案 1 :(得分:0)

选择ID需要#。例如:

$('#naco')

答案 2 :(得分:0)

如果您希望editinPlace适用于ID为“naco”的所有项目,您可以使用:

$('[id^="naco"]').editInPlace({
    form_type: 'select',
    select_options: {
        '1':    'food',
        '2':    'apples',
        '3':    'oranges',
        '4':    'beer'
    },
    external_control: 'change_naco'
});

或者,相反,给所有相同类的“naco”并使用选择器“.naco”