テキストフィールドから値を取得したい、これらの値は日付を表し、年、月、日の3つの部分で構成されます。そのような日付は、first
とlast
の2つの日付があり、一緒に検索を制限するために「境界」を形成します。jQueryセレクタを使用してテキストフィールドから有効な値を取得できません
以下のjs/jqueryを下のHTMLで使用すると、ナンセンスの結果が得られます。
私はここJsfiddleにhttp://jsfiddle.net/grHEY/
をHTMLとJSを入れて、同様以下のコードをコピーしました。
$(".date").click
(
function()
{
var dateValueElement = this;
var propertyId = dateValueElement.id;
$(".numberBounds").filter("#"+propertyId).toggle();
handle_date_change(dateValueElement);
}
);
function handle_date_change(dateValueElement){
var first_year = $(".firstYear").filter("#"+dateValueElement.id).val();
var first_month = $(".firstMonth").filter("#"+dateValueElement.id).val();
var first_day = $(".firstDay").filter("#"+dateValueElement.id).val();
var last_year = $(".lastYear").filter("#"+dateValueElement.id).val();
var last_month = $(".lastMonth").filter("#"+dateValueElement.id).val();
var last_day = $(".lastDay").filter("#"+dateValueElement.id).val();
}
<span style="display: inline;" class="numberBounds" id="74652">
<input onkeyup="javascript:handle_date_change(this)" valuetype="date" id="74652" class="firstYear" value="1905" size="4" type="text">
-<input onkeyup="javascript:handle_date_change(this)" valuetype="date" id="74652" class="firstMonth" value="08" size="2" type="text">
-<input onkeyup="javascript:handle_date_change(this)" valuetype="date" id="74652" class="firstDay" value="07" size="2" type="text"> <
</span>
<span class="date tag half-padding margin" value="1905-08-07" id="74652">1905-08-07</span>
<span style="display: inline;" class="numberBounds" id="74652"> <
<input onkeyup="javascript:handle_date_change(this)" valuetype="date" id="74652" class="lastYear" value="1905" size="4" type="text">
-<input onkeyup="javascript:handle_date_change(this)" valuetype="date" id="74652" class="lastMonth" value="08" size="2" type="text">
-<input onkeyup="javascript:handle_date_change(this)" valuetype="date" id="74652" class="lastDay" value="07" size="2" type="text">
</span>
Firebugコンソールに「propertyIdが定義されていません」と表示されます。 –
申し訳ありません私はあまりにもよくコードを貼り付けていませんでした。 – Ankur
同じIDを複数回使用するとHTMLで無効になり、誤った結果しか返されません( 'getElementById()'は1つの要素だけを返します)。代わりにクラスを使用してください。 – kapa