0

大家好,我只想问我如何创建一个可以检测用户输入并根据用户输入分配属性或删除属性的 jquery。我的情况是我有一个有 4 列的表。首先是下拉菜单。其余的是只读的文本框。下拉菜单的默认选项是 NULL 或空。如果用户从下拉列表中选择,则 2 texboxes 不应该是只读的。在那个过程中我没有错误,但如果用户再次设置为 NULL。这两个文本框不会再回到只读状态。我不知道我的错误在哪里。

这是我的jQuery代码:

$("[id^=code]").on('change',function(){
    var index = this.id.match(/\d+/)[0];
    var validate = $('#code'+index).val();

    if(validate != ''){
        $("#qty"+index).removeAttr('readonly');
        $("#price"+index).removeAttr('readonly');
    }        
});

$("[id^=code]").on('change',function(){
    var index = this.id.match(/\d+/)[0];
    var validate = $('#code'+index).val();

    if(validate == ''){
        $("#qty"+index).attr('readonly');
        $("#price"+index).attr('readonly');
    }        
});

这是我的桌子

for($i = 1; $i < 16; $i++){
    echo "<!-- ITEM {$i} -->";
    echo "<tr>";
    echo "<td>";
    echo "<select name='code[]' id='code{$i}' style='width:100'>";
    echo "<option value=''><label>--CHOOSE ITEMS--</label></option>";
    foreach($resultGetCode->result_array() as $list){
        echo "<option value='".$list['itemid']."'>".$list['itemcode']." --- ".$list['itemname']."</option>";  
    }
    echo "</select>";
    echo "</td>";
    //echo "<td><input type='text' name='item[]' class='k-textbox' id='item{$i}' value='' /></td>";
    echo "<td><input type='text' name='qty[]' id='qty{$i}' style='text-align: center' readonly='readonly' /></td>";
    echo "<td><input type='text' name='price[]' id='price{$i}' style='text-align: right;' onblur='' readonly='readonly' /></td>";
    echo "<td><input type='text' name='total[]' id='total{$i}' style='font-family: courier; text-align: right; background-color: lightgray; color: red' readonly='readonly' value='' /></td>";
    echo "<tr>";
}

这是小提琴:http: //jsfiddle.net/rochellecanale/jnkc3/5/

4

1 回答 1

1

如果你创建一个小提琴会更容易帮助你,但试试这个

if(validate == ''){
     $("#qty"+index).prop('readonly', true);
     $("#price"+index).prop('readonly', true);
 }

更新小提琴

于 2013-09-04T09:37:10.530 回答