Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过div ID读取动态文本框值,并在另一个jquery中使用该ID?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何通过div ID读取动态文本框值,并在另一个jquery中使用该ID?

Javascript 如何通过div ID读取动态文本框值,并在另一个jquery中使用该ID?,javascript,jquery,html,Javascript,Jquery,Html,我使用下面的脚本来创建动态文本框 <script type="text/javascript"> $(function () { $("#btnAdd").bind("click", function () { var div = $("<div />"); div.html(GetDynamicTextBox("")); $("#TextBoxContainer").append(div); }); })

我使用下面的脚本来创建动态文本框

<script type="text/javascript">
$(function () {
    $("#btnAdd").bind("click", function () {
        var div = $("<div />");
        div.html(GetDynamicTextBox(""));
        $("#TextBoxContainer").append(div);
    });

});
function GetDynamicTextBox() {
    return 'Item Code : <select name="iuname" id="iuname" class="required">'+
            <?php foreach($tItem as $row) : ?>
              '<option value="<?php echo $row->ProductID;?>"><?php echo $row->ProductID;?></option>'+
            <?php endforeach;?>
        '</select>'+

        ' Batch : <input id="buname" name="buname" >'+

        '<td  id="finalResult"></td>'+
        '<br/>'

}
</script>

$(函数(){
$(“#btnAdd”).bind(“单击”,函数(){
var div=$(“”);
div.html(GetDynamicTextBox(“”);
$(“#TextBoxContainer”).append(div);
});
});
函数GetDynamicTextBox(){
返回“项目代码:”+

“使用
事件委托
创建动态DOM元素

$(document).on('change', '#iuname', function(){
    var val = $(this).val();
    var text = $(this).find('option:selected').text();
    $("#finalResult").text(val);
    //if you want add text means
    // $("#finalResult").text(text);
});
提及


HTML中的标识符必须是唯一的。每当单击
btnAdd
按钮时,都会生成id为
iuname
的重复元素,
buname
finalResult
。这会导致HTML变得无效。该问题可以通过使用公共类来解决,然后可以使用

脚本,在这里我添加了CSS类

function GetDynamicTextBox() {
    return 'Item Code : <select name="iuname" class="iuname required">' +
        <?php foreach($tItem as $row) : ?>
    '<option value="<?php echo $row->ProductID;?>"><?php echo $row->ProductID;?></option>' +
    <?php endforeach;?>
    '</select>' +

    ' Batch : <input class="buname" name="buname" >' +

    '<td  class="finalResult"></td>' +
    '<br/>'

}
范例

$("#TextBoxContainer").on('change', ".iuname", function(){
    //Your code
});

“当我从下拉列表更改项目代码时,它将显示警报”和“但不显示任何警报”两者都是矛盾的语句HTML中的Sidentifer必须是唯一的,每当您单击
btnAdd
时,您都会生成id为
iuname
的元素,因此HTML变得无效。但我想在id=“finalResult”中显示结果而不是警报。我该怎么做。你能帮我@soosma。当我更改#iuname时,我会得到一些数据。我想将这些数据附加到#finalResult中。我该怎么做@soosmca@MasudSarker-我猜我更新了我的答案,请检查你是否得到它,作为接受感谢,谢谢。但这里有一些问题。我不想显示选项值,我有一些数据我是通过json从数据库中获取的。这些数据要附加在#finalResult中。我可以通过任何方式显示我的完整脚本,因为注释太长。@Soosma请现在查看上面的代码。我重写了代码。@Soosma
function GetDynamicTextBox() {
    return 'Item Code : <select name="iuname" class="iuname required">' +
        <?php foreach($tItem as $row) : ?>
    '<option value="<?php echo $row->ProductID;?>"><?php echo $row->ProductID;?></option>' +
    <?php endforeach;?>
    '</select>' +

    ' Batch : <input class="buname" name="buname" >' +

    '<td  class="finalResult"></td>' +
    '<br/>'

}
$(parentStaticSelector).on('event','selector',callback_function)
$("#TextBoxContainer").on('change', ".iuname", function(){
    //Your code
});