【问题标题】:How to change id or each field by using jQuery如何使用 jQuery 更改 id 或每个字段
【发布时间】:2013-03-11 20:27:53
【问题描述】:

我希望结果必须是这样的,

<tr class="tr_cond"> 
<td>BLA</td>
<td>BLA</td>
<td>BLA</td>
<td>BLA</td>
<td><input type="button" class="tr_condition" value="+" name="add"></td>
</tr>
<tr class="tr_cond" id="tablCond1"> 
<td id="tablCond1>BLA</td>
<td id="colCond1>BLA</td>
<td id="operCond1>BLA</td>
<td id="valCond1>BLA</td>
<td><input type="button" class="tr_condition" value="+" name="add"></td>
</tr>
<tr class="tr_cond"> 
<td id="tablCond2>BLA</td>
<td id="colCond2>BLA</td>
<td id="operCond2>BLA</td>
<td id="valCond2>BLA</td>
<td><input type="button" class="tr_condition" value="+" name="add"></td>
</tr>
<tr class="tr_cond"> 
<td id="tablCond3>BLA</td>
<td id="colCond3>BLA</td>
<td id="operlCond3>BLA</td>
<td id="valCond3>BLA</td>
<td><input type="button" class="tr_condition" value="+" name="add"></td>
</tr>

而 jQuery 是,

$(".tr_condition").live('click', CloneCondition);
var cloneCount = 1;
function CloneCondition(){
    $(this).closest('.tr_cond')
        .clone()
        .attr('id', 'tablCond'+ cloneCount++)
        .insertAfter(".tr_cond:last"); 
}

正在克隆行,但我想更改行内这些字段的 id,但这只会更改行的 id。

【问题讨论】:

  • 请格式化您的代码
  • 嗯,你快到了.. 是什么阻止了你这样做?
  • 看看你的代码在没有&lt;php&gt;s 的情况下看起来更可靠吗?
  • 抱歉发布未格式化的代码.. thnx roXon,我不知道如何更改行中的所有字段 ID。这里这段​​代码改变了 的 id
  • 仅供参考,因为 1.7 版 jQuery 具有 .on() 函数,它取代了 .live()。

标签: php jquery clone


【解决方案1】:

现在试试这个.....

$(".tr_condition").live('click', CloneCondition);
var cloneCount = 1;
function CloneCondition(){

  $("tr td:nth-child(1)").attr("id","your id");
}

【讨论】:

    【解决方案2】:

    您要向哪个字段添加 ID ?到input ?
    同时:

    对动态添加到文档的元素使用.on() 方法

    http://jsbin.com/uharaw/5/edit

    $("table").on('click', '.tr_condition', CloneCondition);
    
    var addIDs = ['tabl','col','oper','val'];
    var cloneCount = 0;
    
    function CloneCondition(){
    
        cloneCount++;
    
        $(this).closest('.tr_cond')
            .clone()
            .insertAfter(".tr_cond:last");
    
        // after clone is done let's go for the last (new) one
        $('.tr_cond:last td').not(':last').each(function(i){
           $(this).attr('id', addIDs[i] +'Cond'+ cloneCount);
        });
    
    }
    

    点击几下后:

    <tr class="tr_cond"> 
        <td>BLA</td>
        <td>BLA</td>
        <td>BLA</td>
        <td>BLA</td>
        <td><input name="add" value="+" class="tr_condition" type="button"></td>
    </tr>
    <tr class="tr_cond"> 
        <td id="tablCond1">BLA</td>
        <td id="colCond1">BLA</td>
        <td id="operCond1">BLA</td>
        <td id="valCond1">BLA</td>
        <td><input name="add" value="+" class="tr_condition" type="button"></td>
    </tr>
    <tr class="tr_cond"> 
        <td id="tablCond2">BLA</td>
        <td id="colCond2">BLA</td>
        <td id="operCond2">BLA</td>
        <td id="valCond2">BLA</td>
        <td><input name="add" value="+" class="tr_condition" type="button"></td>
    </tr>
    

    【讨论】:

    • 即使使用 .live 也可以得到这个结果,但我想增加 的 id 而不是 的 id
    • @sher 正如您从我的示例中看到的那样,我没有更改TR ID...而且您的输入文本没有任何要更改的 ID...您能解释一下吗?
    • 看到粗体的编码..我想改变 tht id..怎么做?克隆的原始 n 的 id 和 name 相同
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签