Javascript来自表单元素的变量

时间:2015-11-10 12:08:32

标签: javascript php jquery

我正在尝试触发一个javascript函数,它捕获订单ID以及输入的日期..页面上可以输入的结果也是列表格式,这意味着有多个输入字段。

我将订单ID提醒,但相应行的日期不是

请参阅我的代码:

HTML / PHP:

<td>Test company</td>
<td><input type="text" id="ord<?php echo $row['orderid']?>" value="10/11/2015"></td>
<td><button class="updateOrd" ordid="<?php echo $row['orderid']?>">Add Date to Order</button></td>

<td>Test company2</td>
<td><input type="text" id="ord<?php echo $row['orderid']?>" value="10/11/2015"></td>
<td><button class="updateOrd" ordid="<?php echo $row['orderid']?>">Add Date to Order</button></td>

JS:

$(document).on('click', '.updateOrd', function(e) {

    var ordid = $(this).attr('ordid');
    var date = $('input#ord'.ordid).val();

    alert(ordid);
    alert(date);

});

2 个答案:

答案 0 :(得分:2)

我建议您使用data-ordid=""代替ordid=""。这样您的HTML就有效了。

问题是:

var date = $('input#ord'.ordid).val();

应该是:

var date = $('input#ord' + ordid).val();

对于记录,这是你如何组合字符串和变量:

-----------------------------
----- JavaScript ---- + -----
-----     PHP    ---- . -----
-----------------------------

答案 1 :(得分:0)

你必须连接&#39;输入#ord&#39; + ordid

$(document).on('click', '.updateOrd', function(e) {

    var ordid = $(this).attr('ordid');
    var date = $('input#ord' + ordid).val();

    alert(ordid);
    alert(date);

});

希望这有帮助!