javascript函数仅在第二次单击时有效

时间:2018-10-31 05:21:43

标签: javascript hyperlink

我有一个链接,它将调用3个js函数。 这就是我写链接的方式:

echo "<td>
    <a href='javascript:void(0)' 
    onclick=$('#f').window('open');
    $(window).scrollTop($('#f').offset().top-60);
    checkForMatch();

    data-id='$row[0]'data-integ='$row[1]'data-type='$row[2]'
    class='edit_conn'
    >Edit</a></td>"; 

onclick=$('#f').window('open');将打开一个模式并正常工作。

$(window).scrollTop($('#e').offset().top-60);将重新定位模式,也可以正常工作。

但是checkForMatch();仅在单击时有效(此操作将基于文本框值禁用输入)

为什么checkForMatch();函数仅在第二次单击时起作用? 请原谅我的土豆英语。

编辑:

这是我写checkForMatch函数的方式:

function checkForMatch() {
    var input1 = document.getElementById("typeconn_edit");
    var input2 = document.getElementById("countryphone_edit");

    if (input1.value == 'mobile_Phone') {
    input2.disabled = true;
    } else {
    input2.disabled = false;
    }
    }

Edit2: “ f”是一个jqueryUI模态窗口,这就是它的写法:

 <div id="f" class="easyui-window formedit" title="Entry identity
 Connectivity" data-options="modal:true,closed:true,iconCls:'icon-save'">

        <?php include 'form_edit_conn.php'; ?>

        </div>

“ idconn_edit”,“ integconn_edit”,“ typeconn_edit”是输入文本框

<input type="text" id="idconn_edit" name="id">
<input type="text" id="integconn_edit" name="integ_conn">
<input type="text" id="typeconn_edit" name="type_conn">

这就是我将值传递给这三个文本框的方式:

(document).on("click", ".edit_conn", function () {
    var id = $(this).data('id'); 
    var type = $(this).data('type');
    var integ = $(this).data('integ');  
   $(".formedit #idconn_edit").val( id ); 
   $(".formedit #integconn_edit").val( integ ); 
   $(".formedit #typeconn_edit").val( type );

});

而“ countryphone_edit”是一个选择框

<select  id="countryphone_edit">
            <option value="0">Please Select</option>
                <?php
                $query = mysql_query("SELECT Country_Name FROM tbl_country");
                while ($row = mysql_fetch_array($query)) {
                ?>
                    <option value="<?php echo $row['Country_Name']; ?>">
                        <?php echo $row['Country_Name']; ?>
                    </option>
                <?php
                }
                ?>
      </select>

很抱歉,没有一个“ e”我没有意识到,因为“ f”已经处于一个好的位置。

1 个答案:

答案 0 :(得分:0)

我解决了,

我添加了checkForMatch();传递值代码(edit_conn)上的功能

(document).on("click", ".edit_conn", function () {
    var id = $(this).data('id'); 
    var type = $(this).data('type');
    var integ = $(this).data('integ');  
   $(".formedit #idconn_edit").val( id ); 
   $(".formedit #integconn_edit").val( integ ); 
   $(".formedit #typeconn_edit").val( type );
   checkForMatch();

});

老实说,我不明白为什么在这里添加checkForMatch();解决了我的问题,但是我认为就足够了。伙计们