2011-10-20 145 views
0

如何循環顯示具有特定名稱的所有表單輸入並將其設置爲指定值?使用jquery將某些表單輸入設置爲某些值

我試過這jsfiddle,我無法讓它工作。 http://jsfiddle.net/qvcA6/

$(document).ready(function() { 
    $("#link-1").click(function() { 

$('[name=price]','#myform').val('0.00'); 
     }); 
}); 

編輯:我不認爲這會事,但對於表單字段名稱的數組鍵不佔。所以你的所有例子都可以工作,但是當我把鍵放在字段名稱中時,它們會中斷。任何人都知道如何去解答密鑰?更新的jsfiddle - >http://jsfiddle.net/qvcA6/8/

+0

我自己造就的側面問題:這不會導致提交表單時出現問題嗎?通常,表單中的名稱是唯一的,用於創建請求參數。 –

+1

格雷格,在這種情況下價格是一個數組。 –

回答

1

更新了jfiddle你http://jsfiddle.net/qvcA6/1/ 有兩個問題。

1)屬性值需要用引號包圍。

2)您輸入的名稱是 '價格[]' 而不是 '價格',使jQuery選擇沒有匹配

+0

那爲那個實例工作。我認爲當價格輸入有一個關鍵時它會起作用。但事實並非如此。考慮到所有的價格輸入而不考慮其關鍵是否是非常複雜的? http://jsfiddle.net/qvcA6/8/ – David

+0

不,不會太難。你可以使用下面的代碼:'$('[name^=「price」]','#myform')'^ ='是'starts with'選擇器,因此它將得到所有具有以字價格。這應該適合你。 –

+0

完美!謝謝! – David

0

您輸入的名稱是price[]price,也將是一個長期的形式更有效expecially指定標籤名稱中使用屬性時,等於選擇。

$('#myform input[name="price[]"]').val('0.00'); 

這裏是一個鏈接修改後的小提琴http://jsfiddle.net/qvcA6/7/

1

這裏有一個fiddle

$(document).ready(function() { 
    $("#link-1").click(function(e) { 
     $('#myform').find('input[name="price[]"]').val('0.00'); 
     e.preventDefault(); // use prevent default instead of inline js on the link. 
    }); 
}); 
+0

感謝您的e.preventDefault();招。不知道那個! upvoted! – David

0

見我jsFiddle

$(function() { 
    $("#link-1").click(function() { 
     $("input[name^=price\\[]", "#myform").val('0.00'); 
     return false; 
    }); 
});