2013-04-30 50 views
0

HTML代碼:jQuery和輸入值選擇問題

<input type="text" name="input-1" class="input-1" value="001/2007"> 
    <input type="button" id="asd" value="check"> 

JS代碼

$(document).ready(function(){ 
    $("#asd").click(function(){ 
     alert($("input[value='001/2007']").val()); 
     $("input[value='001/2007']").val("001-2007"); 
    }); 
}); 

值通過jQuery的改變是不可輸入[值...]變更後的選擇,它仍然基於舊值進行選擇。 這裏是現場代碼http://jsfiddle.net/WwRVy/, 所以問題是如何選擇基於最新值的輸入?

+0

需要通過輸入來迭代和過濾 – 2013-04-30 10:34:52

+0

你嘗試'$( 「輸入[值^ = '001']」)'..? – 2013-04-30 10:36:08

+0

你不能給你的輸入一個'id',或者只是根據它的'name'選擇元素嗎? – billyonecan 2013-04-30 10:38:35

回答

0

試試這個

HTML代碼:

<input type="text" name="input-1" class="input-1" value="001/2007"> 
<input type="button" id="asd" value="check"> 

JS代碼

$(document).ready(function(){ 
$("#asd").click(function(){ 
    alert($("input").val()); 
    $("input").val(); 
}); 
}); 
0

我的猜測是,jQuery的.val()方法改變財產值,而jQuery選擇與工作屬性

$("input[value='001/2007']").attr("value", "001-2007"); 

FIDDLE

PS:有使用[0]符號jQuery對象,並更改其屬性value.attr()改變它是幾種解決方法,也就是你最好改變你的選擇元素的方法,即給它分配一個id或一個class

1

爲什麼不選擇基於名稱或僅僅是類?

$("#asd").click(function(){ 
    $("input[name='input-1']").val("001-2007"); 
}); 
+0

這可能是一個片段,它顯示了選擇器沒有選擇它應該選擇的問題。 – 2013-04-30 10:46:35

0

其臭名昭著的JavaScript的問題之一, 嘗試

alert($('input[value="001/2007"]').val()); 

注意單引號和雙引號是以防萬一換

0

嘗試

$(document).ready(function(){ 
    $("#asd").click(function(){ 
     var inputs = $('input').filter(function(){ 
      return $(this).val() == '001/2007'; 
     }); 
     alert(inputs.val()); 
     inputs.val("001-2007"); 
    }); 
}); 

演示:Fiddle