JQUERY无法更新输入框值

时间:2015-05-16 09:58:11

标签: jquery

好的,我放弃,下午休息时间,为什么我能看到具有我想要的值的警报,但我无法更新页面上输入框中的值

使用下面的代码,仅在警报出现时才会明显更改值。我在警报上单击“确定”,值将返回旧值。如果我删除警报没有任何反应,疯狂呃

  $("#SIC").focusout(function () {
        var sVal = $('#SIC').val();

        sVal = sVal.substr(0,sVal.indexOf(' '));

        $('#SIC').val(sVal); 

        alert(sVal);

    }).click(function (e) {

        e.stopPropagation();
        return true;
    });



@Html.TextBox("SIC", Model.SIC, new { @class = "typeahead form-control", type = "text", placeholder = "SIC code", rel = "tooltip", autocomplete = "off", title = "Enter SIC, i.e. '1630'" }) 

2 个答案:

答案 0 :(得分:0)

你的代码很好,因为我看到一切正常,唯一令你困惑的是这一行:**sVal = sVal.substr(0,sVal.indexOf(' '));**

在该行上,您想获得输入值的子字符串,从0位置到有空格的位置' &#39 ;.但是如果你的输入值没有空格,你将无法得到任何东西。

我做了一个jsfiddle示例,我把:value =" Hello World" ,结果你得到Hello这个词作为一个新的输入值。

单击输入框,然后按Tab键执行该事件。

jsfiddle:http://jsfiddle.net/tornado1979/997ufota/

$("#SIC").focusout(function () {
    var sVal = $('#SIC').val();

    sVal = sVal.substr(0,sVal.indexOf(' '));//all the secret is here.

    $('#SIC').val(sVal); 

    alert(sVal);
}).click(function (e) {

    e.stopPropagation();
    return true;
});

希望有所帮助 祝你好运

答案 1 :(得分:-1)

试试这个 -     var sVal = $('#SIC')。val();

    sVal = sVal.substr(0,sVal.indexOf(' '));

    $('#SIC').html(sVal); 

更新回答:

<input type="text" id="SIC">

$(document).ready(function() {
    alert('value will change');
    $("#textBox").val("New value")
})

这很有效。