簡體   English   中英

收到ajax發布值后,jQuery更改不起作用

[英]Jquery change isn't working after ajax post value received

我這里有帶有ajax / json的Jquery代碼。 首先,我將討論流程。 我有3個文本框,我的item文本框通過ajax將其值傳遞給auto-complete.php以獲得詳細信息。 返回值是post或放在mode文本框中。 並且如果柱值是1或2的number文本框應該改變是CSS成display:none 但是這個問題不起作用,我將number文本框設置為只讀。 當我直接更改number文本框的值時,更改功能起作用。 值是后值時為什么不起作用?

<script>
$(document).ready(function() {
$("#number").css("display","none"); 
$(document).on('change','#mode',function(){
    if($("#mode").val() =="1"){
        $("#number").css("display",""); 
    } else if($("#mode").val() =="2"){
        $("#number").css("display",""); 
    } else {
        $("#number").css("display","none"); 
    }
    return true;
    });
});
</script>


<input name="item" id="item" type="text"/>

<input name="mode" id="mode" type="text"/>

<input name="number" id="number" type="text" readonly />

<script type="text/javascript">
$(document).ready(function()
{
$('#item').change(function()
{
var item= $("#item").val();

$.ajax({
type: "POST",
url: "autocomplete-ajax.php",
data :"item="+item,
dataType:'json',
type:'POST',
success:function(data){
    var mode=data.mode;
    //send to element ID
    $('#mode').val(mode);
}
  });
return false;
});
});
</script>

當您使用JavaScript更改值時,它不會觸發事件。

一個簡單的解決方法是在更新值之后自行觸發事件。

success:function(data){
    var mode=data.mode;
    //send to element ID
    $('#mode').val(mode).change();
    /* OR */
    $('#mode').val(mode).trigger('change');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM